Java多态性访问成员变量
Java面向对象有三大特征:封装性,继承性,多态性。
1.使用多态的前提是必须extends和implements。
2.多态性:一个对象拥有多种形态,即继承了多个类的方法和变量。
3.格式:
口诀:父亲引用指向子类对象。
父类名称 对象名 = new 子类名称();
接口名称 对象名 = new 实现类名称();
4.多态访问成员变量的方法:
A.直接通过对象名访问成员变量,看左边是谁,优先用谁,没有则想上找。
B.间接使用成员方法访问成员变量,看方法属于谁优先用谁,没有则想上找。
间接使用成员方法访问成员变量:如果子类或者实现类没有覆盖重写,则是父类,如果子类或者优先类覆盖重写了方法,则是子类。
public interface Fu{
int num = 10;
public class show(){
System.out println(num);
}
//这种情况下可通过对象直接或间接访问成员变量。
public class zi implements Fu(){
@override
int num = 20;
public class show(){
System.out println(num);
}
//如果子类或实现类有覆盖重写父类的方法,优先用子类。
}