内部静态类与普通类的实例化区别

__lhy 2018-09-30 08:32:47
RT,有什么区别,麻烦指教下。
...全文
1284 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
绽绅 2018-10-05
  • 打赏
  • 举报
回复
1、 静态内部类中可以定义静态或者非静态的成员,而非静态内部类则不能有静态成员。 

2、 静态内部类的非静态成员只能访问外部类的静态变量,而不可访问外部类的非静态变量。而非静态内部类的非静态成员可以访问外部类的非静态变

量。这是由Java语法中"静态方法不能直接访问非静态成员"所限定。

3、 在当前类中,外部成员方法访问静态内部类的非静态成员,可通过实例化静态内部类来访问--->new
InnerClass().test(); 。而非静内部类需要说明当前类是哪个--->this.new InnerClass().test(); 

5、 生成一个静态内部类,它可以不依赖于外部类实例被实例化。而非静态内部类需要在外部类实例化后才能实例化。
stacksoverflow 2018-10-04
  • 打赏
  • 举报
回复
把内部静态类看成一个静态变量就可以了。没区别。
verejava 2018-10-01
  • 打赏
  • 举报
回复
JVM 虚拟机 之 类加载初始化 http://www.verejava.com/?id=17441749183417

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧