Java oop代码8(原创方法):重写,继承,在主函数中定义一个判断的方法,instanceof

//声明一个电子产品类,定义功能方法,
//打印“父类电子产品的功能方法”,定义子类U盘类继承自电子产品类,
//重写电子产品的功能方法,打印“U盘可以存储歌曲”,
//声明一个硬盘类继承自电子产品类,
//重写电子产品的功能方法,打印“硬盘也可以存储歌曲”,
//定义一个MP3类继承自电子产品类,
//重写电子产品的功能方法,另外增加一个方法“MP3可以听歌”,
//在主函数中定义一个判断的方法,
//要求传入一个电子产品类的参数,
//根据传入的电子产品打印不同的功能(instanceof关键字)
package a;
public class Student {
public static void main(String[] args) {
dianZi r = new UPan();
r.gongYou();// 调用他们共有的方法
r.gongneng();// 使用向上转型是不可以调用子类独有的方法,如果想要使用
// 就在父类加上这个方法就可以了
dianZi y= new yingPan();
y.gongYou();
y.gongneng();
dianZi m = new MPSan();
m.gongYou();
m.gongneng();
}
// 判断
public static void panDuan(dianZi r) {
if (r instanceof UPan) {
r.gongYou();
r.gongneng();
} else if (r instanceof yingPan) {
r.gongYou();
r.gongneng();
} else if (r instanceof MPSan) {
r.gongYou();
r.gongneng();
}
}
}
class dianZi {
public String name;
public int age;
public void gongYou() {
System.out.println("父类电子产品的功能方法");
}
public void gongneng() {
}
}
class yingPan extends dianZi {
public void gongYou() {
System.out.println("硬盘也可以存储歌曲");
}
}
class UPan extends dianZi {
public void gongYou() {
System.out.println("U盘可以存储歌曲");
}
}
class MPSan extends dianZi {
public void gongYou() {
System.out.println("MP3可以听歌");
}
}
