本帖最后由 644186052 于 2017-8-17 23:09 编辑
class Work1 {
public static void main(String[] args) {
/**
需求一:
已知接口Play中有一个方法playGame(),再测试类中如何调用该方法?(用匿名内部类实现)
*/
Outher o = new Outher();
o.method();
}
}
//接口
interface Play {
public abstract void playGame();
}
//创建一个类
class Outher {
//内部类实现其接口
class Inner implements Play {
//重写接口中方法
public void playGame(){
System.out.println("playGame");
}
}
//创建普通方法
public void method(){
//直接匿名内部类去重写playGame方法。
new Inner(){ //因为这里相当于是 父类引用指向子类对象,父类即Play,子类Inner, 根据成员方法规则:编译看左(父类),运行看右(子类)。
public void playGame(){
System.out.println("playGame");
}
}.playGame();
}
}
|