java 内部类和静态内部类的区别

1.静态内部类可以有静态成员(方法,属性),而非静态内部类则不能有静态成员(方法,属性)。

2.静态内部类只能够访问外部类的静态成员,而非静态内部类则可以访问外部类的所有成员(方法,属性)。

3.实例化一个非静态的内部类的方法:

     a.先生成一个外部类对象实例

        OutClassTest oc1 = new OutClassTest();

    b.通过外部类的对象实例生成内部类对象

        OutClassTest.InnerClass no_static_inner = oc1.new InnerClass();

4.实例化一个静态内部类的方法:

     a.不依赖于外部类的实例,直接实例化内部类对象

         OutClassTest.InnerStaticClass inner = new OutClassTest.InnerStaticClass();

     b.调用内部静态类的方法或静态变量,通过类名直接调用

         OutClassTest.InnerStaticClass.static_value

         OutClassTest.InnerStaticClass.getMessage()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Java 内部类 分四种:成员内部类、局部内部类、静态内部类和匿名内部类。 1、成员内部类: 即作为外部类的一个成...
    ikaroskun阅读 5,066评论 0 13
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 5,847评论 0 10
  • 内部类我们从外面看是非常容易理解的,无非就是在一个类的内部在定义一个类。 public class OuterCl...
    进阶中成为巨人阅读 5,511评论 0 0
  • 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有...
    Java架构师Carl阅读 3,237评论 0 3
  • channel简介 channel 是用来通信的,通过它,一个 goroutine 可以想另一 goroutine...
    唐晟楷Derek阅读 2,325评论 0 0

友情链接更多精彩内容