深入继承
public class Test01 {
public static void main(String[] args) {
/**
* 知识点:深入继承
*
* 1.创建子类对象,会调用父类构造方法吗?
* 会
* 2.创建子类对象,先调用父类构造方法还是先调用子类构造方法?
* 先调用子类构造方法
* 3.创建子类对象,先完成父类构造方法还是先完成子类构造方法?
* 先完成父类构造方法
* 4.创建子类对象,会创建父类对象吗?
* 不会
* 5.创建子类对象,调用父类构造方法的目的是什么?
* 目的是在子类对象中开辟空间用于存放父类的属性
* 6.子类可以继承父类的私有化属性和方法吗?
* 可以继承,但是不可以直接调用,但是可以在父类中设置公有的方法,在公有的方法中调用私有的属性和方法,这叫做间接调用
*/
B b = new B();
b.aMethod02();
}
}
public class A {
String aAtrr;
public A() {
System.out.println("父类的构造方法");
}
//父类私有化属性
private String a = "xxx";
//父类私有化方法
private void aMethod01(){
System.out.println("父类私有化方法");
}
public void aMethod02(){
System.out.println(a);
aMethod01();
}
}
public class B extends A{
String bAtrr;
public B() {
//super();//调用父类无参构造,默认实现
System.out.println("子类的构造方法");
}
}