当前位置:  技术问答>java相关

出200分(或更多),就non-static inner class请教java高手

    来源: 互联网  发布时间:2015-09-04

    本文导语:  java中规定non-static inner class不能包含static字段和方法(编译时常量除外)。 我查遍了CSDN的帖子(有一篇完全一样的问题,有个朋友用类装载和初始化的原因上分析了,但我觉得即使装载初始化static成员时发现内部...

java中规定non-static inner class不能包含static字段和方法(编译时常量除外)。 我查遍了CSDN的帖子(有一篇完全一样的问题,有个朋友用类装载和初始化的原因上分析了,但我觉得即使装载初始化static成员时发现内部类不是static的,也应该会搜索内部类的成员中是否有static成员,编译时常量能在非静态内部类中定义就说明了这个问题),也用google对相关内容搜索了近2个小时,可是还是没有找到明确 的原因。既然有这样的规定,必然有其道理,请各位高手给我解释一下好吗,谢谢了。 心里有个结总是很让人不舒服:)。 如果解释的合理,想要分我还可以开帖的:)谢谢大家,提帖也给分。

|
Inner classes ,unless static ,have an implicit reference to the enclosing instance.The enclosing instance must be provided to the new call that constructs the inner class.In many cases,innerclass are constructed inside instance methods of the enclosing class.in which case this.new is implied by new

|
qxjavajava(射手座) 说的有道理。
非静态类中,可以有静态方法,但是也可以有非静态方法,如果两者都有的话,
在调用非静态方法的时候,就会发生new的冲突,所以java为了避免这种混淆,所以就不允许在非静态方法中使用静态的方法和变量

|
对了,是我弄错了,和和,提示:仅仅定级class才能拥有static method.

|
我觉得:想要调用非静态内部类,就要先实例化,这是就会和其中的static相矛盾。

|
其实你可以这样理解,inner class顾名思义就在一个类里面的类,所以,可以把内部类看成是类的一个成员方法,而成员方法是不能定义静态变量的。这样的解释可能是比较可以的了。

|
果然是个经典的问题,不过我觉得这应该问一问java的最初设计者。

|
我也想知道是否有更好的例子说明,更好的解释。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 除了jdk带的,那里还能下到更多的外观感觉?
  • 毕业设计求助(更多分相送)!
  • 毕业设计求助(更多分相送)!
  • 点击互联网->更多互联网应用程序->gaim 无反应,怎么回事啊?
  • 在JSP的领地里,怎么才能用最短的时间获得更多得知识~!!
  • 放500分找 做RPL 远程引导IAMGE的工具!绝不食言!更多分也可以!
  • redflag 文件删除后磁盘占用更多? iis7站长之家
  • 期待更多的人加入
  • 我的rpm一次最大只能安装有3个套件的包,如何能安装有更多套件的包?
  • mysql 终结点映射器中没有更多的终结点可用的解决方法
  • Linux和Unix哪个用的更多些?
  • 基于JQuery实现滚动到页面底端时自动加载更多信息
  • redflag 文件删除后磁盘占用更多?
  • 想用"|"来分离字符串,但用String.split("|")总是出现错误,总是多分离出一个空串,如果字符串中有空格那错误更多。
  • 300分,谁帮我写socket接收这部分,我就给,更多的分也好商量。
  • 公司实际的开发中都用linux做什么,嵌入式方面,底层的和应用那个更多些?
  • Jquery 显示隐藏更多文本的代码举例
  • 求助:用pthread_create创建的线程最多为303个,可以更多吗?
  • 各位,请问怎样在linux下使用gnu c++库和stl库,请具体一点,谢谢(可开更多帖给分)!
  • 刚开始LINUX,想入门并行计算,请前辈们给指指路。。。。。俺都是很守信用的,只是没有更多的分了。。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3