1. 重写是多态的先决条件,没有重写,就没有多态
2. 类的属性上不存在多态
代码块
public class A {
public String a = "a";
public void test() {
System.out.println("i am a");
}
}
public class B extends A{
public String b = "b";
public String a = "a1";
public String b1 = "b1";
public void test() {
System.out.println("i am b");
}
}
public class C {
public static B testC() {
return new B();
}
public static void main(String[] args) {
A a = testC();
a.test(); //多态,调用了B的test方法,结果为“i am b”
System.out.println(a.a); //只会调用a对象的a属性,属性上是没有多态性的。a对象是看不到B类的属性的。结果为“a”
}
}
<!--StartFragment-->
<!--EndFragment-->