/*
形式参数:
引用类型
接口:需要的是该接口的实现类对象
这个时候就没什么了,和抽象类的解释差不多。
*/
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();//可调用了
}
}