java问题 求解答

写一个顶层接口,两个实现类,在测试类里写一个静态方法,方法参数为接口类型,在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