/*
形式参数:
引用类型
接口:需要的是该接口的实现类对象
这个时候就没什么了,和抽象类的解释差不多。
*/
interface Love { public abstract void love(); } class LoveDemo { public void method(Love l) { l.love();//如果看到一个方法内的引用类型是接口类型,这里传递的应该是该接口的实现类类对象。 } } //定义具体类实现接口,该接口的实现类 class Teacher implements Love { public void love() { System.out.println("形式参数是接口类型"); } } class TeacherTest { public static void main(String[] args) { //需求:测试LoveDemo类中的love()方法 LoveDemo ld = new LoveDemo(); Love l = new Teacher();//属于多态 ld.method(l); Teacher t = new Teacher(); ld.method(t); } }
/* 返回值类型 引用类型: 接口:返回的是该接口的实现类的对象 */ //定义一个爱好的接口 interface Love { public abstract void love(); } class LoveDemo { public Love getLove() { return new Teacher();//匿名对象 } } //定义具体类实现接口 class Teacher implements Love { public void love() { System.out.println("返回值类型是接口类型"); } } class TeacherTest2 { public static void main(String[] args) { LoveDemo ld = new LoveDemo(); Love l = ld.getLove(); //属于多态方式 l.love();//可调用了 } }
时间: 2024-10-26 18:03:41