/*
* 方法形式参数如果
* 接口: 传递需要改接口子实现类对象
*
* */
//定义一个接口
interface Love{
void love() ;
}
//定义一个类
class PersonDemo{
public void function(Love love) {
love.love();
}
}
//定义一个子实现类
class Worker implements Love{
@Override
public void love() {
System.out.println("爱生活,爱Java...");
}
}
public class InnerClassDemoTest2 {
public static void main(String[] args) {
//需要调用PersonDemo类中的function方法
PersonDemo pd = new PersonDemo() ;
//Love love = new Love() ;//不能实例化
//接口多态:
Love love = new Worker();
pd.function(love);
System.out.println("---------------------");
//接口匿名内部类的使用
PersonDemo pd2 = new PersonDemo() ;
/*
* new 接口名(){
* 重写抽象方法;
* };
*
* */
pd2.function(new Love() { //接口匿名内部类对象(本质就是子实现类!)
@Override
public void love() {
System.out.println("爱生活...");
}
});
}
}