java多态
java多态,java引用类型分为编译时类型和运行时类型。父类型的变量对应子类型的引用,编译的时候类型是父类型,运行的时候类型就是子类型。所以在编译的时候只能访问到父类对象里面有的成员,不能访问到子类里面的成员,如果父类中的方法在子类中重写了,那么在运行的时候调用的就是子类中的方法,字段不存在多态,父类型调用的就是父类型的,子类型调用就是子类型的。
package frank; public class App extends Parent { public String asc = "3"; public static void main(String[] args) { Parent p = new App(); p.get();//子类方法 System.out.println(p.asc);//父类中的2 } public App(String tag) { super(tag); } public App() { super("null"); } public void get() { System.out.println("子类方法!"); } } class Parent { public String asc = "2"; public Parent(String tag) { this.tag = tag; } public Parent() { this("无值"); } public void get() { System.out.println("父类方法!"); } }