1.构造方法的重载是指同一个类中定义不同参数的多个构造方法,已完成不同情况下对象的初始化。
例如:
Point(); Point(x); Point(x,y);
2.一个类的若干个构造方法之间可以相互调用,当类的构造方法需要调用另一个构造方法时,可以使用关键子 this();括号可以带参数或不带参数,并且这个调用语句必须是这个构造方法的第一个可执行语句。
例如:
class Sun { Sun(int a){ System.out.println("Hello this is week "+a); } Sun(){ this(5); //调用另一个构造方法 System.out.println("My name is Sun"); } } public class Test{ public static void main(String args[]){ Sun moon=new Sun(); } } 运行结果: Hello this is week 5 My name is Sun
this的用法
3.构造方法的继承
Java中子类可以继承父类的构造方法,构造方法的继承遵循以下的原则:
一.子类无条件的继承父类的无参数构造方法
二.对于带参数的父类的构造方法,子类可以在自己的构造方法中使用super关键字来调用它,但这个调用的语句必须是子类构造方法中的第一个可执行语句
三.如果子类中没有定义构造方法,则它将继承父类的无参数构造方法作为自己的构造方法(注意不是将父类的带参数的构造方法作为自己的构造方法)l如果子类定义了构造方法,则在创建对象时,将先执行来自继承父类的无参数构造方法,然后在执行自己的构造方法。
例如:
class A{ public A(){ System.out.println("Hello A"); } } class B extends A{ public B(){ System.out.println("Hello B"); } } class C extends B{ public C(){ System.out.println("Hello C"); } } public class Test { public static void main(String[] args) { C c=new C(); } }
构造方法的继承
时间: 2024-10-19 06:01:35