《java入门第一季》之面向对象(形式参数和返回值问题的深入研究3)

时间:2022-02-05 21:49:45

/*

    形式参数:

        引用类型

接口:需要的是该接口的实现类对象

这个时候就没什么了,和抽象类的解释差不多。

*/

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();//可调用了
}
}