写一个顶层接口,两个实现类,在测试类里写一个静态方法,方法参数为接口类型,在main方法里调用,用四种方式实现多态,传递参数
package mypackage;
public class PersonTest {
public static void main(String[] args) {
Person p1 = new Student("张三");
p1.eat();
Person p2 = new Teacher("丽丽");
p2.play();
test();
}
static void test() {
Student s1 = new Student("李四");
s1.play();
Teacher t1 = new Teacher("王五");
t1.read();
}
}
interface Person{
void eat();
void play();
}
class Student implements Person{
String name;
public Student(){}
public Student(String name){
this.name = name;
}
@Override
public void eat() {
System.out.println(name + "同学正在吃饭...");
}
@Override
public void play() {
System.out.println(name + "同学正在打球...");
}
public void read() {
System.out.println(name+"同学正在读书...");
}
}
class Teacher implements Person{
String name;
public Teacher(){}
public Teacher(String name){
this.name = name;
}
@Override
public void eat() {
System.out.println(name + "老师正在吃西瓜...");
}
@Override
public void play() {
System.out.println(name + "老师正在上课...");
}
public void read() {
System.out.println(name+"老师正在备课...");
}
}
参考这篇文章
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632