-
2022-04-04 22:38:18
- 构造方法用来给类的成员声明初始化。
- 构造方法是一种特殊的方法,它的方法名与类名相同,并且没有返回值,也不需要使用void关键字修饰。
- 构造方法分为两种,无参构造器(默认构造方法)和有参构造器(自定义构造方法)
例:手动添加无参构造器的创建
public class Apple{
String name;float apple;
public Apple(){
name=苹果,
apple=12;
}
}
如果不想手动添加也可以不用添加系统会自动创建
public class Apple{
String name;float apple;
public Apple(){}
}
例:有参构造器的创建
public class Apple{
int name;float apple;
public Apple(int name, float apple){
this.name=name;
thise.apple=apple;
}
}
警告提示
如果类已经定义了一个或多个构造方法那么java,就不提供默认的构造方法。
修正方法
在拥有有参构造器的类中,手动添加无参构造器
public class Apple{
int name;float apple;
public Apple(){
name=苹果,
apple=12;
}
public Apple(int name, float apple){
this.name=name;
thise.apple=apple;
}
}
更多相关内容 -
简单了解JAVA构造方法
2021-02-12 23:17:19怎么写java构造方法必须满足以下语法规则:(1) 方法名必须与类名相同。(2)不要声明返回类型。(3)不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承,所以用final和abstract修饰没有...怎么写
java构造方法必须满足以下语法规则:
(1) 方法名必须与类名相同。
(2)不要声明返回类型。
(3)不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承,所以用final和abstract修饰没有意义。
构造方法用于初始化一个新建的对象,所以用static修饰没有意义。多个线程不会同时创建内存地址相同的同一个对象,因此用synchronized修饰没有必要。
此外,Java语言不支持native类型的构造方法。
例:
public class Sample {
private int x;
public Sample() { // 不带参数的构造方法
this(1);
}
public Sample(int x) { //带参数的构造方法
this.x=x;
}
public int Sample(int x) { //不是构造方法
return x++;
}
}
使用方法
java构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法,如:class a {}//没有任何构造函数。
构造方法就是与类同名的那个方法,它的作用是可以用来初始化,例子如下
class Person //人类{
public Person(String n,int a) //构造方法
{
name = n; age = a;
}
private string name;
private int age;
}
static void main(String[] args){
Person p = new Person("张三",14);//这就是作用
}
new一个对象的时候要用到构造函数,
例如
Hello hello = new Hello();
这时调用的是Hello的无参数构造方法;
Hello hello = new Hello("hi");
这个是调用Hello有参数构造方法,
在JAVA中如果不写构造方法的话,会默认加上一个无参数的构造方法,但是如果已经有了一个有参数的构造方法,那么无参数的构造方法就不会默认被加上.
如果Hello类中已经有了一个有参数的构造方法,这时再使用 Hello hello = new Hello();来创建对象的时候就会出错,这就是为什么书上要强调写了有参数的构造方法就最好加一个无参数的构造方法.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
-
java带参数的构造方法_简单了解JAVA构造方法
2020-11-14 04:52:49构造方法作用就是对类进行初始化...怎么写 java构造方法必须满足以下语法规则:(1) 方法名必须与类名相同。(2)不要声明返回类型。(3)不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类...构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法.下面小编和大家来一起学习一下吧.
怎么写
java构造方法必须满足以下语法规则:
(1) 方法名必须与类名相同。
(2)不要声明返回类型。
(3)不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承,所以用final和abstract修饰没有意义。
构造方法用于初始化一个新建的对象,所以用static修饰没有意义。多个线程不会同时创建内存地址相同的同一个对象,因此用synchronized修饰没有必要。
此外,Java语言不支持native类型的构造方法。
例:
使用方法
java构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法,如:class a {}//没有任何构造函数。
构造方法就是与类同名的那个方法,它的作用是可以用来初始化,例子如下
new一个对象的时候要用到构造函数,
例如:
这时调用的是Hello的无参数构造方法;
这个是调用Hello有参数构造方法,
在JAVA中如果不写构造方法的话,会默认加上一个无参数的构造方法,但是如果已经有了一个有参数的构造方法,那么无参数的构造方法就不会默认被加上.
如果Hello类中已经有了一个有参数的构造方法,这时再使用 Hello hello = new Hello();来创建对象的时候就会出错,这就是为什么书上要强调写了有参数的构造方法就最好加一个无参数的构造方法.
以上就是本文的全部内容,如果在JAVA学习上有什么不懂的,或者需要学习资料的,可以私信我,我将尽我所能解答,希望对大家的学习有所帮助!
-
Java构造方法和子类构造方法
2019-07-21 23:50:09Java构造方法 构造方法是用于初始化一个新建的对象。 普通构造方法 方法名与类名相同 无返回类型 子类不能继承父类的构造方法 不能被static、final、abstract修饰(有final和abstract修饰的是不能被子类继承的,...Java构造方法
构造方法是用于初始化一个新建的对象。
普通构造方法
- 方法名与类名相同
- 无返回类型
- 子类不能继承父类的构造方法
- 不能被static、final、abstract修饰(有final和static修饰的是不能被子类继承的,abstract修饰的是抽象类,抽象类是不能实例化的,也就是不能new)
- 可以被private修饰,可以在本类里面实例化,但是外部不能实例化对象(注意!!!)
参考文档:https://zhidao.baidu.com/question/502830408.html
public class A{ int i=0; public A(){ i=2; } public A(int i){ this.i=i; } }
默认构造方法
如果没有任何的构造方法,编译时系统会自动添加一个默认无参构造方法
- 隐含的默认构造方法
public A(){}
- 显示的默认构造方法
public A(){ System.out.print("显示的默认构造方法") }
重载构造方法
比如原本的类里的构造方法是一个参数的,现在新建的对象是有三个参数,此时就要重载构造方法
当一个类中有多个构造方法,有可能会出现重复性操作,这时可以用this语句调用其他的构造方法。
public class A{ private int age; private String name; public A(int age,String name){ this.age=age; this.name=name; } public A(int age){ this(age,"无名氏");//调用 A(int age,String name)构造方法 } public A(){ this(1);//调用 A(int age)构造方法 } public void setName(String name) {this.name=name;} public String getName() {return name;} public void setAge(int age) {this.age=age;} public int getAge() {return age;} }
A a=new A(20,"周一"); A b=new A(20); A c=new A(); String name = a.getName(); String name1 = b.getName(); int age = c.getAge(); System.out.println(name); System.out.println(name1); System.out.println(age);
java子类构造方法调用父类构造方法
首先父类构造方法是绝对不能被子类继承的。
子类构造方法调用父类的构造方法重点是:子类构造方法无论如何都要调用父类的构造方法。
子类构造方法要么调用父类无参构造方法(包括当父类没有构造方法时。系统默认给的无参构造方法),要么调用父类有参构造方法。当子类构造方法调用父类无参构造方法,一般都是默认不写的,要写的话就是super(),且要放在构造方法的第一句。当子类构造方法要调用父类有参数的构造方法,那么子类的构造方法中必须要用super(参数)调用父类构造方法,且要放在构造方法的第一句。当子类的构造方法是无参构造方法时,必须调用父类无参构造方法。因为系统会自动找父类有没有无参构造方法,如果没有的话系统会报错:说父类没有定义无参构造方法。
当子类构造方法是有参构造方法时,这时就会有两种情况。
第一种:子类构造方法没有写super,也就是说你默认调用父类无参构造方法,这样的话就和子类是无参构造方法一样。
第二种:子类构造方法有super(参数)时,就是调用父类有参构造方法,系统会找父类有没有参数一致(参数数量,且类型顺序要相同)的有参构造方法,如果没有的话,同样也会报错。
但是这里会遇到和重载构造方法this一样问题,一个参数的构造方法可以调用多个参数构造方法,没有的参数给一个自己定义值也是可以的。 -
java构造方法和普通方法区别
2020-07-27 16:26:19java构造方法和普通方法 构造方法 构造方法也叫做构造器,使用来创建一个实例对象的。 1.构造方法必须和类名一致,并且没有返回值 public class Test{ public Test(){ } } 注意:构造方法没有返回值,所以... -
Java构造方法(超详细!)
2021-04-10 17:58:481.构造方法有什么作用? 构造方法是一个比较特殊的方法,通过构造方法可以完成对象的创建,以及实例变量的初始化。 换句话说:构造方法是用来创建对象,并且同时给对象的属性赋值。 注意:实例变量没有手动赋值的... -
Java构造方法 重载与重写
2019-04-18 18:10:441.Java中的构造方法 构造方法的特性: 必须具备和所在类相同的名字 没有返回值类型,连void 也没有 构造方法是在创建一个对象使用 new 操作符时候调用的 构造方法的作用是初始化对象,也可以重载(即-可以有多个... -
java构造方法与重载
2019-02-20 22:05:19构造方法负责对象成员的初始值化工作 1.方法名与类名相同 2.没有返回类型(void也不行) 3.构造方法是在创建实例时会被自动调用 4.一个类可能没有构造方法,但一定有系统隐蔽无参的构造方法,也有多个构造方法(他们... -
Java构造方法
2019-09-09 19:26:39Java构造方法 当新对象被创建的时候,构造方法会被调用。每一个类都有构造方法。当类中没有定义构造函数时,系统会指定给该类加上一个空参数的构造函数。这个是类中默认的构造函数。当类中如果自定义了构造函数,... -
不是说:java构造方法和类名一定要相同吗?为什么我看见很多构造方法跟类名不完全一致啊?
2021-03-14 13:26:05为什么构造方法名却是Car?我看见很多教程都是这么写的。晕。。。。。。。。。。。到底怎么样才是对的啊?public class TestCar_EX {public static void main(String[] args) {Car c1 = new Car("red", "xxx");}}... -
Java构造方法和@Autowire
2019-06-14 13:48:031.构造方法不能被继承。 2.子类构造方法在没有显示调用父类有参构造方法时会默认调用父类无参构造方法(没有则报错)如: public class TestA extends Test { /** * 会默认调用父类的无参构造方法,父类... -
Java 构造方法详解
2021-02-20 16:07:23构造方法 我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方法。当创建人对象的时候,人对象... -
Java 构造方法中super()的作用以及使用
2019-09-19 09:27:39在类的继承中,子类的构造方法中默认会有super()语句存在,相当于执行父类的相应构造方法中的语句 如下面代码: class Extends_Demo { public static void main(String[] args) { Cat c = new Cat(); //----------... -
java构造方法的定义与作用
2018-09-27 17:30:38构造方法(什么时候调用?,作用是什么?) 构造方法: 1.它具有与类名相同的名称 2.它没有返回值(如果有,则不是构造方法,而是和构造方法同名的成员方法) 3.构造方法的调用时机与一般的方法不同。一般的方法是在... -
Java 构造方法与成员方法的区别
2019-05-27 10:48:30认定构造方法是,类名与构造方法相同,这个方法就是构造方法,这个类中除了构造方法以外的方法都是构造方法,原因是在类中,除了变量外的基本都是成员方法。 看一个小案例 package me; public class Me { private ... -
Java构造方法的相互调用
2018-11-29 17:01:10在Java中,当给一个类创建了多个构造方法时,有时想在一个构造方法中调用另一个构造方法以减少代码量。这时可以使用this关键字来实现。 通常,当使用this关键字时,它意味着“这个对象”或者“当前对象”,并且它... -
Java构造方法是否有返回值
2017-09-04 14:29:16构造方法: public book(){ // 方法体 } 定义无返回值方法: public void book(){ //方法体 } 请问构造方法是否如void没有返回值的,还是有返回值但是不能定义返回值类型而已。 -
java构造方法:有参构造方法和无参构造方法区别
2019-05-02 11:02:28java构造方法:有参构造方法和无参构造方法 一、无参构造方法 1、定义: 如果编写一个javaBean时没有添加无参构造方法,那么编译器会自动添加无参构造方法; 但是如果编写时添加了有参构造方法而未添加无参... -
Java 构造方法的修饰符
2017-10-07 10:37:08不同于普通方法,构造方法(器)不能是abstract, static, final, native, strictfp, 或者synchronized的。 -
Java构造方法以及构造方法重载
2018-12-23 08:49:02构造器也叫构造方法(constructor),用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java通过new关键字来调用构造器,从而返回该类的实例,是一... -
Java构造方法为private
2018-01-22 15:23:34class A { public String name;... //构造函数限定为private,不可以直接创建对象 private A() { } //需要创建对象实例时,调用此函数 public static A Instance() { return new A(); } } class B { -
JAVA构造方法(与类名相同的方法),类方法与实例方法
2020-01-31 22:10:30构造方法 跟类名相同的方法名被称作构造方法,其作用是用于当一个类被new成对象时,对象需要声明的一些变量的构造声明。 构造方法的特点: (1)构造方法的名字必须与定义他的类名完全相同(甚至连void也没有),且... -
java构造方法时对象初始化,实例化,参数赋值
2019-10-14 19:41:26构造方法时进行对象初始化,以及对象实例化,参数传值是我们这片文章主要要 介绍的东西。 接下来我们就开始讲解一下具体过程: 1.首先我们建一个学生类Student。我们规定这个类的成员变量为sno和name, 接着构造一个... -
Java构造方法和成员方法
2017-10-25 20:57:56构造方法和成员方法 1:构造方法 1:构造方法作用概述 给对象的数据进行初始化 2:构造方法格式 方法名与类名相同 没有返回值类型,连void都没有 没有具体的返回值 3:构造方法注意事项 如果... -
Java中构造方法调用构造方法??
2021-02-12 13:19:58心有猛虎_细嗅蔷薇正确的调用方法应该是直接一个this()来调用构造方法。请看代码:classStudent{Stringid;Stringname;Stringsex;//创建构造方法publicStudent(Stringid,Stringname,StringclassNum,Stringsex,intage){... -
java 构造方法 super 隐式调用 显式调用
2018-03-10 17:00:08下面是关于父类构造方法调用的实验:当父类子类都没有定义构造方法时,系统为父类、子类提供一个无参构造方法,并在子类中隐式调用父类无参构造方法:class Father {} class Son extends Father {}我们可以自己写... -
Java构造方法的初始化顺序
2018-07-16 22:22:32调用对象的构造方法(但是还没有执行构造方法体) 调用父类的构造方法 使用初始化程序的初始块和初始化成员 执行构造方法体 验证代码如下: public class A { public A() { System....