Java oop題與代碼8:繼承,重寫,向上轉(zhuǎn)型來調(diào)用方法,添加與測試是否可用獨有的方法

// 1.聲明一個人類,人類包含姓名和年齡兩個屬性,
// 定義人類的say()方法,打印“人類都可以說話”,
//聲明一個子類中國人繼承自人類,重寫say()方法,
//打印“中國人說中國話”,添加一個中國人獨有的功能做菜,
// 打印“中國菜好吃”,聲明一個子類美國人繼承自人類,重寫say()方法,
//打印美國人說英語,添加一個美國人獨有的方法,打印“美國人喜歡吃牛排”,
//在主函數(shù)中使用多態(tài)的向上轉(zhuǎn)型來調(diào)用方法,測試是否可以調(diào)用子類獨有的方法
package a;
public class Student {
public static void main(String[] args) {
renlei r=new zhongguoren();
r.say();//調(diào)用他們共有的方法
r.gongneng();//使用向上轉(zhuǎn)型是不可以調(diào)用子類獨有的方法,如果想要使用
//就在父類加上這個方法就可以了
renlei m=new meiguoren();
m.say();
m.gongneng();
}
//判斷
public static void panduan(renlei r){
if(r instanceof meiguoren){
r.say();
r.gongneng();
}else if(r instanceof zhongguoren){
r.say();
r.gongneng();
}
}
}
class renlei {
public String name;
public int age;
public void say(){
System.out.println("人類都可以說話");
}
public void gongneng(){
}
}
class zhongguoren extends renlei{
public void say(){
System.out.println("中國人類說中國話");
}
public void gongneng(){
System.out.println("中國人做菜好吃");
}
}
class meiguoren extends renlei{
public void say(){
System.out.println("美國人說英語");
}
public void gongneng(){
System.out.println("美國人喜歡吃牛排");
}
}
