Java--父類的引用指向子類的對象詳解!
阿新 • • 發佈:2017-05-20
show 小明 一個 oid void get color system eight
例:
第一步.創建一個Person類
package com.maya.ball; public class Person { private int age; private String name; public Person(int age,String name){ this.age = age; this.name = name; } public void speak(){ } public int getAge(){ return age; }public void setAge(int age){ this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
第二步.創建American類繼承Person類。
package com.maya.basketball; import com.maya.ball.Person; public class American extendsPerson { public double height;-----------------------------新增成員變量 public American(int age,String name,double height){ super(age, name); this.height = height; } public void speak(){ System.out.println("我年齡:"+ this.getAge() +",我叫:"+getName()+",我身高:"+height); } }
第三步.創建Chinese類,同意繼承Person類
package com.maya.football; import com.maya.ball.Person; public class Chinese extends Person{ private String sex;-------------------新增成員變量 public Chinese(int age, String name,String sex) { super(age, name); this.sex = sex; } public void speak(){ System.out.println("我年齡:"+ getAge() +",我叫:"+ this.getName() +",我性別:"+sex); } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
第四步.創建Test1類,通過show方法把Person的對象作為參數傳進去
package com.maya.test; import com.maya.ball.Person; import com.maya.basketball.American; import com.maya.football.Chinese; public class Test1 { public void show(Person per){ if(per instanceof American){ American am = (American) per; System.out.println(am.height); } if(per instanceof Chinese){ Chinese ch = (Chinese) per; System.out.println(ch.getSex()); } } }
第五步.創建Main方法進行調用
package com.maya.test; import com.maya.ball.Person; import com.maya.basketball.American; import com.maya.football.Chinese; public class Main1 { public static void main(String[] args){ Person per = new American(32,"小明",175); American american = (American) per; double s = american.height; System.out.println(s); Person ame = new American(32,"小明",180); ame.speak(); Person chinese = new Chinese(23,"小李","女"); chinese.speak(); Test1 t = new Test1(); t.show(ame); t.show(chinese); } }
Java--父類的引用指向子類的對象詳解!