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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 980344791 中级黑马   /  2014-10-12 23:43  /  1332 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天讲的匿名内部类,有点混,我想问一下匿名内部类能不通过父类的接口或者继承父类直接创建子类对象吗?
还有就是局部类里面的方法为什么不可以是静态。。。。

4 个回复

倒序浏览
你这问的有点绕啊...没看懂        不是静态那段是看懂了   反正你就这么记,静态的东西只能用静态的括号来包或者是调用,静态的东西都是随类的加载而加载的...是最早创建的,所以呢  不静态的东西是罩不住他的    说得糙,不过我就是这么理解的
回复 使用道具 举报
应该从另一个角度想:非静态内部类为什么不能有静态成员

静态成员不用建立对象就能直接被类名引用。
如果我们想引用内部类中的成员,由于内部类是非静态的,那么就得先建立外部类的对象,这样内部类也会被初始化。这样给内部类里的成员加静态就没有任何意义了。
回复 使用道具 举报
你问的第一个我就不回答了,不知道你是钻牛角尖还是啥的。之所以局部里的方法不可以是静态,因为这个方法涉及到了自己特有的数据,如果加上静态也就成了共享数据,这样做明显不符合静态的定义方式
回复 使用道具 举报 1 0
第一个问题,既然匿名内部类,你不通过父类创建,怎么创建?如果你想到方法,请回复。第二个问题,局部类和非静态方法是一个级别的,你不可能在普通方法中定义静态变量吧?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马