多态:
1.必须要存在继承关系
2.存在方法的重写(不是必须,但是不重写没有意义)
动物 d = new 猫();
动物 d = new 狗();
3.父类要指向之类的引用
父 f = new 子();
多态的注意事项:
1.多态成员访问的特点:
Fu f=new Zi();
左边为父类;右边为子类;
(1)成员变量
编译看左边,运行看左边
(2)成员方法
编译看左边,运行看右边
(3)静态方法
编译看左边,运行看左边
总结:除了编译都看左边(父类),运行都看左边 ,除了成员方法(因为子类对父类的方法进行了改写)
class Fu{
public int num=100;
public int num2=30;
public void show() {
System.out.println("Fu show");
}
public static void method(){
System.out.println("Fu static");
}
}
class Zi extends Fu{
public int num=10;
public int num2=20;
public void show() {
System.out.println("Zi show");
}
public static void method(){
System.out.println("Zi static");
}
}
public class Attention{
public static void main(String[] args) {
Fu f=new Zi();
System.out.println(f.num);
System.out.println(f.num2);
f.show();
f.method();
}
}