java中的四种内部类

这节我们来说一下java中的内部类,首先我们知道java中有四种常见的四种内部类,

分别是:

1,静态内部类

2,实例内部类

3,本地内部类

4,匿名内部类

今天让我们一起走进它们

1,静态内部类


定义静态内部类


初始化内部类对象,并打印内部类


打印结果。

那这里就难免会遇到一个问题,在内部类中能否调用外部类的变量?



不难看出被static修饰的可以直接打印,而没有被修饰的不行,必须要用被外部类定义

的out来引用。

2,实例内部类

实例内部类的实例化


实例内部类的初始化,并用show3方法打印


打印的结果是:


这里要注意的是实例内部类中不能定义static修饰的变量

为什么在实例内部类中定义static类型的变量,必须定义final修饰的立即数?

(1) 内存中执行时是先 static --》实例方法,如果再static 不允许  
(2)实例内部类的设计意义:每一个实例内部类 必须有一个外部类对象,依赖外部对象。
         假设 static Innerclass in = new Innerclass();
         OuterClass2.Innerter.in = new InnerClass();
         InnerClass.in 拿到了实例内部类的一个实例

         违背了设计意义


3,本地内部类


未完待续...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值