Java中的四种内部类

Java中的四种内部类

在这里插入图片描述

内部类,顾名思义 就是在另一个类的内部定义的类。

在这里插入图片描述

内部类可以细分为:静态内部类,成员内部类,局部内部类和匿名内部类四种。

他们本质上就是不同类型的类,其区别就是作用范围不同。类定义在哪里,作用范围就是哪里。

Java中常规的类通常是建立在各个包下面,定义这些常规的类时可以选择加public关键字或者不加。加了public就代表这个类可以在本程序任何地方访问,不加则代表只能在这个类所处的包下访问。这个类能被哪些地方访问就代表你这个类的作用范围有多大,常规类的作用范围在整个程序或者某个包下,内部类的作用范围就看他定义在哪里。

静态内部类

静态内部类被static关键字修饰,作用范围也和静态属性一样

在这里插入图片描述

他的访问方式和访问外部类的静态属性相同。

静态内部类能够任意访问外部类的静态属性,即使private静态属性。由于他们都在同一作用范围内。

成员内部类

他的定义方式和成员属性相同,怎样定义成员属性就怎样定义成员内部类。

对外来说,通过外部类的对象实例就能访问该对象的成员属性,也能访问该对象的成员内部类。

对内来说,成员内部类能够任意访问外部类的成员属性,即使是private属性
在这里插入图片描述

局部内部类

局部内部类是定义在方法里面。

对外来说,只有该方法内能调用局部内部类;

对内来说,局部内部类可以任意访问该方法内的局部变量。

匿名内部类

匿名内部类就是局部内部类的一种简要写法,可以在不声明类的情况下继承其他类并创建对象。

他的作用范围和局部内部类完全一致

内部类

各个内部类的作用范围可以从内往外访问,不能从外往内访问

比如:

局部内部类可以访问静态属性或者静态内部类,但静态内部类访问不了局部内部类

总结

在这里插入图片描述

静态内部类的作用范围就像静态属性一样,成员内部类的作用范围就像成员属性一样,局部内部类和匿名内部类的作用范围就像局部变量一样,类定义在哪里,作用范围就在哪里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值