Java oop题和代码:抽象类人,抽象方法,继承,接口,在main函数中进行调用

声明抽象类人,包含编号,姓名,年龄属性,包含抽象方法吃饭,学习, 声明接口购物,声明接口上课,声明接口做备课,声明接口做作业,声明老 师类继承自抽象类人类实现购物和备课的接口,声明学生类继承抽象类人类 实现写作业和上课的接口,在main函数中进行调用
package b;
public class demo {
public static void main(String[] args) {
ren t = new teacher();// /向上转型,抽象类
gouwu t1 = new teacher();// 向上转型,接口
beike t2 = new teacher();
t.name = "诗书";
t.chifan();
t1.maidx();
t2.bk();
ren s = new student();
shangke s1 = new student();
zuozuoye s2 = new student();
s.name = "画唱";
s.xuexi();
s1.sk();
s2.zzy();
}
}
abstract class ren {
String id;
String name;
int age;
public abstract void chifan();
public abstract void xuexi();
// 抽象类不能包含学习,因为所有人不一定都学习,题目有错,这里按题目要求来,课程声明为接口
}
interface gouwu {
public abstract void maidx();
}
interface shangke {
public abstract void sk();
}
interface beike {
public abstract void bk();
}
interface zuozuoye {
public abstract void zzy();
}
class teacher extends ren implements gouwu, beike {
public void chifan() {
System.out.println(this.name + "在吃饭");
}
public void bk() {
System.out.println("在备课");
}
public void maidx() {
System.out.println("在买东西");
}
public void xuexi() {
}
}
class student extends ren implements zuozuoye, shangke {
public void xuexi() {
System.out.println(this.name + "在学习");
}
public void sk() {
System.out.println("在上课");
}
public void zzy() {
System.out.println("在做作业");
}
public void chifan() {
}
}
