187/188多态中成员变量的使用特点和多态中成员方法的使用特点
多态中成员变量的使用特点
访问成员变量的两种方式:
1.直接通过对象名称访问成员变量:看等号左边是谁,优先用谁,没有则向上找
2.间接通过成员方法访问成员变量:看该方法属于谁,优先用谁,没有则向上找
父类
public class Fu {
int num = 10;
public void showNum(){
System.out.println(num);
}
}
子类
public class Zi extends Fu{
int num = 20;
int age = 16;
public void showNum(){
System.out.println(num);
}
}
测试类
public class text {
public static void main(String[] args) {
Fu fz = new Zi();
System.out.println(fz.num);
System.out.println("=================");
fz.showNum();
}
多态中成员方法的使用特点
在多态的代码当中,成员方法的访问规则是:
看new的是谁,就优先用谁,没有则向上找。
口诀:编译看左边,运行看右边。
对比一下:
成员变量:编译看左边,运行还看左边。
成员方法:编译看左边,运行看右边。
父类 public class Fu { int num = 10; public void showNum(){ System.out.println(num); } public void method(){ System.out.println("父类特有方法"); } public void methodFu(){ System.out.println("父类方法"); } 子类 public class Zi extends Fu{ int num = 20; int age = 16; public void showNum(){ System.out.println(num); } public void method(){ System.out.println("子类特有方法"); } } 测试类 public static void main(String[] args) { Fu fz = new Zi(); fz.method(); fz.methodFu(); }