方法多态:①方法覆写②方法重载 属性多态 ①向上转型 1class Message {2 public void print(){3 System.out.println("i am messge");4 }5}6class DataBaseMessage extends Message {7 public void print(){8 System.out.println("i am DataBaseMessage");9 }10}11class WebServerMessage extends Message {12 public void print(){13 System.out.println("i am WebServerMessage");14 }15}10 collapsed lines16 17public class duotai{18 public static void main(String args []){19 fun(new DataBaseMessage());20 fun(new WebServerMessage());21 }22 public static void fun(Message msg){23 msg.print();24 }25} ②向下转型 1class Person{2 public void print(){3 System.out.println("i am just a common man");4 }5}6 7class Superman extends Person{8 public void fly(){9 System.out.println("i can fly");10 }11}12 13public class duotai{14 public static void main(String args []){15 Person superman = new Superman(); // 如果你在这个地方是 Person per = new Person(); 则后面无法转型成Supermanm类7 collapsed lines16 superman.print();17 18 //向下转型19 Superman man = (Superman) superman;20 man.fly();21 }22} ps:向下转型,一定都是先向上转型之后才能向下转型。instanceof 可以检查是不是此类型。