黑马程序员技术交流社区
标题:
关于匿名内部类练习的一点小体会
[打印本页]
作者:
杨翔
时间:
2013-1-8 17:15
标题:
关于匿名内部类练习的一点小体会
interface Inter
{
void method();
}
class Test
{
/*
static class Inner implements Inter //静态的内部类才能被静态成员调用
{
public void method()
{
System.out.println("haha");
}
}
*/
static Inter function()
//返回Inter类型的才能调用 method方法,相当于多态
//感觉此处 应该是 Inter 匿名内部类返回值 = new Inter实现类类型();
{
//匿名内部类
return new Inter()
{
public void method()
{
System.out.println("haha");
}
};
// return new Inner();
}
}
class InnerClassTest
{
public static void main(String[] args)
{
Test.function().method();
}
}
复制代码
在学习的过程中有了一点小的体会,就拿了出来,首先是关于 此代码中注释掉的部分,当外部类的静态成员方法去调用内部类时,要保证该内部类也是静态的,因为静态方法是在类实例化之前就可以使用的,可以通过类名调用,而这时动态内部类都还没实例化,也就没有对象去调用,所以会报找不到方法的错误,另外此练习还顺便加深了一下对多态的印象。
作者:
高境
时间:
2013-1-8 18:49
{:soso_e179:}
作者:
高境
时间:
2013-1-8 18:50
{:soso_e179:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2