它本质就是一个对象,编译的时候看左边,运行看右边,用它调方法就是调用的它重写的方法
interface Play{ //这是一个接口
void playGame(); //里面是一个抽象方法.注意:此时该抽象方法的默认修饰符为public abstrat
}
class Demo1{ //定义一个类
public static void main(String[] args){ //主方法,程序的入口
Demo1.method().playGame(); //通过类名调用方法
}
public static Play method(){ //这是一个静态方法
return new Play(){ //返回一个对象
public void plagGame(){
System.out.println("PlayGame");
}
};
}
}
就像以上Demo,Demo1.method().playGame();这句可以看成
Play p = Demo1.method();//多态
p.playGame();//编译看左边,运行看右边,实际运行的是改匿名内部类重写的方法 |