1.构造方法的方法名必须与类名一样。
2.构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。不用定义返回值类型。(不同于void类型返回值,void是没有具体返回值类型;构造函数是连类型都没有);不可以写return语句。(返回值类型都没有,也就不需要return语句了)
3.构造方法的作用:是完成对象的初始化工作,即new对象产生后,就调用了对象了属性和方法。能够把定义对象时的参数传递给对象的域。有参构造函数,在new对象时,将实参值传给private变量,相当于完成setter功能。
4.构造方法不能由编程人员调用,而要系统调用。
5.构造方法可以重载,以参数的个数,类型,或排序顺序区分。
6.一个对象建立,构造函数只运行一次。 而一般函数可以被该对象调用多次。
7.构造函数是对象一建立就运行,给对象初始化,就包括属性,执行方法中的语句。而一般函数是对象调用才执行,用".方法名“的方式,给对象添加功能。
8.一般函数不能调用构造函数,只有构造函数才能调用构造函数。
9.一个对象建立后,构造函数只运行一次。如果想给对象的值再赋新的值,就要使用set和get方法,此时是当做一般函数使用
10.当一个类中没有定义构造函数时,系统会给该类中加一个默认的空参数的构造函数,方便该类初始化。只是该空构造函数是隐藏不见的。
11.当在该类中自定义了构造函数,默认构造函数就没有了。如果仍要构造函数,则需要自己在类中手动添加。
public class Teacher{
//自定义无参构造方法
public Teacher() {
System.out.println("HelloWorld");
}
//系统自动调用自定义的无参构造函数
public static void main(String[] args) {
Teacher t1=new Teacher();
}
}
输出:HelloWorld
12.构造函数也是函数的一种,同样具备函数的重载(Overloding)特性。
13.子类中无参构造函数,可直接继承父类中无参构造函数,前提是所有变量均为public
14.子类中无参构造函数继承父类中无参构造函数时,父类参数是private的,无法直接,需要在父类中使用get方法来调用私有变量值。
15.使用super调用父类有参的构造函数,super必须写在方法的首行
16.子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)。如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表。如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器。super()是调用父类的构造方法,且只能在子类构造方法的第一行。
上述的Java类的构造方法相关的知识要点都是根据动力节点在线的专题视频课程总结得出的,希望能够在我们遇见相关的问题时能够起到帮助。
提枪策马乘胜追击04-21 20:01
代码小兵92504-17 16:07
代码小兵98804-25 13:57
杨晶珍05-11 14:54