继承的本质详细描述
package com.tao.extend.extendsTheory;
/**
* Create By 刘鸿涛
* 2021/12/15 17:42
*/
public class ExtendsTheory {
public static void main(String[] args) {
Son son = new Son(); //内存的布局
//?-> 这时请大家注意,要按照查找关系来返回信息
//(1) 首先看子类是否有该属性
//(2) 如果子类有这个属性,并且可以访问,则返回信息
//(3) 如果子类没有这个属性,就看父类有没有这个属性(如果父类有该属性,并且可以访问,就返回信息..)
//(4) 如果父类没有就按照(3)的规则,继续找上级父类,直到Object...
System.out.println(son.name); //返回大头儿子
System.out.println(son.getAge()); //[思考1]返回39
// System.out.println(son.age); //[思考2]不会,到父类找到private age后就报错了
}
}
class GrandPa{ //爷类
String name = "大头爷爷";
String hobby = "旅游";
int age = 50;
}
class Father extends GrandPa{ //父类
String name = "大头爸爸";
private int age = 39; //思考1:如何访问父类age //思考2:如果爷类有age,我直接访问son.age,会得到,爷类的age吗
public int getAge(){ //[思考1]
return age;
}
}
class Son extends Father{
String name = "大头儿子";
}