爆笑Java:怪物,老师类,转型,多态,乐器,方法this,依据不同,进行相应,super















package a;
public class fuxi {
public static void main(String[] args) {
guaiwu j = new hongzhu("大红猪", 520);
guaiwu l = new hongzhu("小红猪", 1314);
guaiwu c = new she("小蛇", 7758);
guaiwu[] ms = new guaiwu[3];
ms[0] = l;
ms[1] = j;
ms[2] = c;
for (int i = 0; i < ms.length; i++) {
if (ms[i] instanceof hongzhu) {
((hongzhu) ms[i]).ceshih();
((hongzhu) ms[i]).darendefangfah();
}
else if (ms[i] instanceof she) {
((she) ms[i]).ceshis();
((she) ms[i]).darendefangfas();
}
}
}
}
class guaiwu {
public int gongjili;
public String name;
public guaiwu(String name, int gongjili) {
super();
this.name = name;
this.gongjili = gongjili;
}
public void darendefangfa() {
System.out.println(this.name + "打人的方式很秀");
}
}
class hongzhu extends guaiwu {
public hongzhu(String name, int gongjili) {
super(name, gongjili);
}
public void ceshih() {
System.out.println("名字:" + this.name + ",攻击力:" + this.gongjili);
}
public void darendefangfah() {
System.out.println(this.name + "打人的方式陈独秀");
}
}
class she extends guaiwu {
public she(String name, int gongjili) {
super(name, gongjili);
}
public void ceshis() {
System.out.println("名字:" + this.name + ",攻击力:" + this.gongjili);
}
public void darendefangfas() {
System.out.println(this.name + "打人的方式一枝独秀");
}
}






//在main方法中进行测试
package a;
public class fuxi {
public static void main(String[] args) {
yueqi j = new Violin("小提琴A");
yueqi l = new Violin("小提琴B");
yueqi c = new Piano("钢琴C");
yueqi[] ms = new yueqi[3];
ms[0] = l;
ms[1] = j;
ms[2] = c;
for (int i = 0; i < ms.length; i++) {
if (ms[i] instanceof Violin) {
((Violin) ms[i]).testPlayv();
}
else if (ms[i] instanceof Piano) {
((Piano) ms[i]).testPlayp();
}
}
}
}
class Piano extends yueqi {
public Piano(String name) {
super(name);
}
public void testPlayp() {
System.out.println(this.name + "有想让人给诗书画唱投币的功能,“当当”的弹奏");
}
}
class Violin extends yueqi {
public Violin(String name) {
super(name);
}
public void testPlayv() {
System.out.println(this.name + "有想让人给诗书画唱点赞的功能,“咦咦”的弹奏");
}
}
class yueqi {
public String name;
public yueqi(String name) {
super();
this.name = name;
}
}




//2.请编码实现如下需求:
//老师类有三个子类:Java老师类、数据库老师类、DotNet老师类
//老师类都
// 有属性:
// 姓名、年龄
// 有方法:
// 教书()的方法。
//
//编写一个考核();的方法,
// 调用考核();的方法先打出老师的姓名、年龄。
// 再调用教书()方法。
//在main方法中进行测试。
package a;
public class fuxi {
public static void main(String[] args) {
teacher j = new Javateacher("Java老师A", 19);
teacher l = new DotNetteacher("数据库老师B", 20);
teacher c = new SQLteacher("DotNet老师C", 21);
teacher[] ms = new teacher[3];
ms[0] = l;
ms[1] = j;
ms[2] = c;
for (int i = 0; i < ms.length; i++) {
if (ms[i] instanceof Javateacher) {
((Javateacher) ms[i]).kaohej();
((Javateacher) ms[i]).jiaoshuj();
}
else if (ms[i] instanceof SQLteacher) {
((SQLteacher) ms[i]).kaohes();
((SQLteacher) ms[i]).jiaoshus();
} else if (ms[i] instanceof DotNetteacher) {
((DotNetteacher) ms[i]).kaohed();
((DotNetteacher) ms[i]).jiaoshud();
}
}
}
}
class Javateacher extends teacher {
public Javateacher(String name, int age) {
super(name, age);
}
public void kaohej() {
System.out.println(this.name + "今年" + this.age + "岁" );
}
public void jiaoshuj() {
System.out.println(this.name + "今年" + this.age + "岁" + ",勤奋教Java的方法");
}
}
class SQLteacher extends teacher {
public SQLteacher(String name, int age) {
super(name, age);
}
public void kaohes() {
System.out.println(this.name + "今年" + this.age + "岁" );
}
public void jiaoshus() {
System.out.println(this.name + "今年" + this.age + "岁" + ",用心教SQL的方法");
}
}
class DotNetteacher extends teacher {
public DotNetteacher(String name, int age) {
super(name, age);
}
public void kaohed() {
System.out.println(this.name + "今年" + this.age + "岁" );
}
public void jiaoshud() {
System.out.println(this.name + "今年" + this.age + "岁"
+ ",幽默风趣,教偷懒且高效教DotNet的方法");
}
}
class teacher {
public int age;
public String name;
public teacher(String name, int age) {
super();
this.name = name;
this.age = age;
}
}






