1.构造方法概念:
每个类中都必须存在的方法,在创建对象时,给对象进行赋值
2.构造方法关键字super
子类继承父类时,在子类的构造方法的第一行中就有super();继承父类的构造方法.
3.在子类继承父类的构造方法时,注意:
创建子类无参对象的时候,先创建的是父类的无参构造方法,再创建子类的无参构造方法;
创建子类有参对象的时候,先创建的是父类的有参构造方法,再创建子类的有参构造方法;
4.构造方法没有返回值类型,但是有返回值,返回值就是本类
5.注意:
接口没有构造方法,抽象类中有构造方法,构造方法不能被继承
下面是子类和父类继承构造方法的代码
/** * * @author Administrator * 父类中存在构造方法 * */ public class Fu { private String a; public Fu(){ System.out.println("我是父类无参构造方法"); }; public Fu(String a){ this.a=a; System.out.println("我是父类有参数构造方法"+a); } public String getA() { return a; } public void setA(String a) { this.a = a; } }
/** * * @author Administrator * 子类构造方法 */ public class Zi extends Fu { public Zi(){ super(); System.out.println("我是子类无参构造方法"); } public Zi(String a){ super(a); System.out.println("我是子类有参构造方法"); } }
/** * * @author Administrator * 测试子类和父类构造方法 *当子类和父类中都存在无参构造方法和有参构造方法时, *先创建父类的无参构造方法,在创建子类的无参构造方法; *先创建父类的有参构造方法,在创建子类的有参构造方法; *子类构造方法中必须在第一行中super(); */ public class test { public static void main(String[] args) { //创建子类对象 Zi zi1 = new Zi();//创建无参对象 Zi zi2 = new Zi("c");//创建有参对象 System.out.println(zi1); System.out.println(zi2.getA()); } }
输出结果截图