java继承中构造方法的访问特点,继承中成员方法的访问特点

1.继承中构造方法的访问特点

/*
    this:代表本类对象的引用。this关键字指向调用该方法的对象;
    super:代表父类存储空间的标识(可以理解为父类对象引用)
 */

public class Zi extends Fu{
    public Zi(){
        super();//默认就是这个,可写可不写。一旦写了,默认的就只有一个。
        System.out.println("Zi中无参构造方法被调用!");
    }
    public Zi(int age){
        super();//默认就是这个,可写可不写。一旦写了,默认的就只有一个。
        System.out.println("Zi中有参构造方法被调用!");
    }
}

public class Fu {
    public Fu(){
        System.out.println("Fu中无参构造方法被调用!");
    }
    public Fu(int age){
        System.out.println("Fu中有参构造方法被调用!");
    }

}
/*
    测试类
 */

public class Demo {
    public static void main(String[] args) {
        //创建对象,调用方法
        Zi z=new Zi();
        System.out.println("-----------------");
        //调用带参数构造方法
        Zi z2=new Zi(20);

    }
}



在这里插入图片描述

说明:子类中的所有构造方法都会默认访问父类中无参数的构造方法。
why?
1)因为子类会继承父类中的数据,可能还会使用父类中的数据。所有,子类初始化之前,一定要先完成父类数据的初始化。
2)每一个子类构造方法第一条默认语句是super()

若父类中的无参数构造方法被注释掉,测试demo调用不到父类中的无参构造方法,就会报错。可以用super(age:20)调用有参构造方法。
若父类中无无参构造方法,只有有参构造方法的处理方法:
1)通过super关键字去显示的调用父类的带参构造方法;
2)在父类中自己提供一个无参构造方法。建议用这个。

2.继承中成员方法的访问特点
通过子类对象访问一个方法:首先在子类成员中找;再在父类中找


版权声明:本文为Kongjiangezi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。