黑马程序员技术交流社区

标题: 已知接口Play中有一个方法playGame(),再测试类中如何调用该方法?(用匿名内部类实现) [打印本页]

作者: cnxaidp0213    时间: 2016-5-2 23:21
标题: 已知接口Play中有一个方法playGame(),再测试类中如何调用该方法?(用匿名内部类实现)

class Test1 {
        public static void main(String[] args){
               
        }
}
interface Play {
        public abstract void playGame();
}
作者: sywy328826    时间: 2016-5-3 22:19
6666666666666666666
作者: 644186052    时间: 2017-8-17 23:07
本帖最后由 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();
        }
}



作者: Oliverwqcwrw    时间: 2017-8-21 11:31
new Play(){
public void playGame(){
System.out.println("调用方法!")
}
}.playGame();




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2