构造方法

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());
    }

}

输出结果截图

原文地址:https://www.cnblogs.com/itcx1213/p/8004360.html