成员变量的特点 (编译看左,运行看左)
-
编译看左边: 看左边类/接口有没有这个变量, 如果有就编译成功,没有则失败
运行看左边: 运行左边类/接口中的变量值
public class Fu {
int a = 10;
}
public class Zi extends Fu{
int a = 20;
}
public class Test {
public static void main(String[] args) {
Fu fu = new Zi();
System.out.println(fu.a); //10
}
}
成员方法的特点
- 编译看左边(父),如果有此方法,编译成功,没有则失败
- 运行看右边(子), 调用子类的成员方法
public class Fu {
public void function() {
System.out.println("我是爸爸");
}//如果去掉父类function方法,编译失败
}
public class Zi extends Fu{
public void function() {
System.out.println("我是儿子");
}//如果去掉子类function方法,则转向吊用父类的function方法
}
public class Test {
public static void main(String[] args) {
Fu fu = new Zi();
fu.function();//我是儿子
}
}
网友评论