本帖最后由 李阳阳 于 2013-3-18 19:58 编辑
- interface Inter
- {
- abstract void method();
- }
- class Test
- {
- //补足代码,通过匿名内部类
- static class inner implements Inter
- {
- public void method()
- {
- System.out.println("method run");
- }
- }
- static inner fuction()
- {
- return new inner();//这样不是也行吗?
- }
- }
- class InnerClassTest
- {
- public static void main(String[] args)
- {
- //Test.function():Test类中有一个静态的方法function。
- //.method():function这个方法运算后的结果是一个对象。而且是一个Inter类型的对象。
- //因为只有是Inter类型的对象,才可以调用method方法。
- Test.fuction().method();
- }
- }
复制代码 主函数内注释部分前两个我知道,但是Test.fuction()运算之后为什么只有Inter类型的对象才能调用method方法呢,Inter不是一个接口不能创建对象吗?所以调用method方法的应该是一个实现接口的类,这里也就是内部类Inner,所以Test.fuction()之后不是应该返回的是一个内部类对象吗?不知道是那个点儿转不回来了,大家给讲讲、 |