黑马程序员技术交流社区

标题: 内部类 [打印本页]

作者: zllqxy    时间: 2015-9-18 18:42
标题: 内部类
如何理解匿名内部类
作者: 残影    时间: 2015-9-18 21:34
写了两个例子,你可以看看,参考下。。理解。。
建议,你也先写一个正常的类调用,然后再给匿名。就大概明白了。
/*
//匿名内部类方法
//按照要求,补齐代码
//要求在控制台输出”HelloWorld”

interface Inter {
        void show();
}
class Outer {
        //补齐代码
        public static Inter method(){
                return new Inter(){
                        public void show(){
                                System.out.println("Hello World");
                        }
                };
        }               
}
class OuterDemo {
        public static void main(String[] args) {
                  Outer.method().show();       //Outer直接类名调用,说明method是静态方法;
                                                                           //.show(),说明前面是对象调用,所以method返回值是个对象
        }
}

*/

//一般方法
//按照要求,补齐代码
//要求在控制台输出”HelloWorld”

interface Inter {
        void show();
}
class Outer {
        //补齐代码
        public static InterA method()
        {
                return new InterA();
        }               
}
class OuterDemo {
        public static void main(String[] args) {
                  Outer.method().show();       //Outer直接类名调用,说明method是静态方法;
                                                                           //.show(),说明前面是对象调用,所以method返回值是个对象
        }
}
class InterA implements Inter
{       
        public void show()
        {
                System.out.println("Hello World!!");
        }       
}

       
作者: 史世锋    时间: 2015-9-18 21:39
new 父类名(){ 子类的类主体 };一个较胖的子类对象, 其实就是一种规定的格式,楼主可以把{ }大括号内的代码理解为子类的类主体




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