黑马程序员技术交流社区

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

作者: 980344791    时间: 2014-10-12 23:43
标题: 匿名内部类
今天讲的匿名内部类,有点混,我想问一下匿名内部类能不通过父类的接口或者继承父类直接创建子类对象吗?
还有就是局部类里面的方法为什么不可以是静态。。。。
作者: zz_job    时间: 2014-10-13 01:09
你这问的有点绕啊...没看懂        不是静态那段是看懂了   反正你就这么记,静态的东西只能用静态的括号来包或者是调用,静态的东西都是随类的加载而加载的...是最早创建的,所以呢  不静态的东西是罩不住他的    说得糙,不过我就是这么理解的
作者: Quasimodo    时间: 2014-10-13 01:45
应该从另一个角度想:非静态内部类为什么不能有静态成员

静态成员不用建立对象就能直接被类名引用。
如果我们想引用内部类中的成员,由于内部类是非静态的,那么就得先建立外部类的对象,这样内部类也会被初始化。这样给内部类里的成员加静态就没有任何意义了。

作者: HM2014nuli    时间: 2014-10-13 07:17
你问的第一个我就不回答了,不知道你是钻牛角尖还是啥的。之所以局部里的方法不可以是静态,因为这个方法涉及到了自己特有的数据,如果加上静态也就成了共享数据,这样做明显不符合静态的定义方式
作者: 会飞的蜗牛    时间: 2014-10-13 07:47
第一个问题,既然匿名内部类,你不通过父类创建,怎么创建?如果你想到方法,请回复。第二个问题,局部类和非静态方法是一个级别的,你不可能在普通方法中定义静态变量吧?




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