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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Test2_NoNameInnerClass {
        public static void main(String[] args) {
                Outer.method().show();
        }
}
interface Inter {
        void show();
}
class Outer {
        public static Inter method(){
                return new Inter(){
                        public void show(){
                                System.out.println("helloworld");
                        }
                };
        }
}
//public static Inter method(){ 里的Inter怎么理解?

2 个回复

倒序浏览
可以参见我总结的面试题:http://bbs.itheima.com/thread-279058-1-1.html
从 Outer.method().show();我们可以分析出这几点:
1.method可以直接被Outer类调用,说明method是静态方法 static method()
2.Outer.method还可以调方法,说明它返回的是一个类的具体对象,而show方法只有接口Inter有,表明Outer.method的作用是返回接口Inter的具体实现对象,如何实现做到这一点呢?
:method这个静态方法的返回值类型得是引用类型,即接口,返回值类型的位置写上接口名Inter即可,也就是你疑惑的地方
回复 使用道具 举报
看得懂,就是不知道怎么理解,恐怕一面试就完蛋啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马