A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zllqxy 中级黑马   /  2015-9-18 18:42  /  469 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何理解匿名内部类

2 个回复

倒序浏览
写了两个例子,你可以看看,参考下。。理解。。
建议,你也先写一个正常的类调用,然后再给匿名。就大概明白了。
/*
//匿名内部类方法
//按照要求,补齐代码
//要求在控制台输出”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!!");
        }       
}

       
回复 使用道具 举报
new 父类名(){ 子类的类主体 };一个较胖的子类对象, 其实就是一种规定的格式,楼主可以把{ }大括号内的代码理解为子类的类主体
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马