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