Java 中 Static class 与non static class的区别

外部类只能使用public final abstract 修饰,不能使用 private protected static 修饰,但是内部类可以。非静态内部类不能拥有静态成员。
内部类的作用:① 不允许同包的其他类访问该类; 内部类成员可以直接访问外部类私有数据; 匿名内部类适合用于创建那些仅需要使用一次的类。
非静态内部类 可以访问外部类的private 成员,但非静态内部类的成员不能被外部类直接使用,如需访问则必须要创建非静态内部类的对象进行访问。
非静态内部类访问变量x ,首先判断是否存在局部变量 x ,如果存在则使用该变量;如果没有,判断是否存在非静态内部类成员变量 x ,如果存在则使用该变量;如果没有,判断是否存在外部类成员变量 x ,如果存在则使用该变量;如果没有,系统出现编译错误。
如果外部类成员变量、内部类成员变量和局部变量重名,则通过外部类类名.this. 变量名、 this. 变量名和变量名区分。
静态内部类 ,使用static 修饰的内部类,这种内部类属于外部类本身,而不是外部类的对象,因此又叫类内部类。
静态内部类可以包含静态成员和非静态成员。
静态内部类(即使时实例成员)不能访问外部类的实例成员,只能访问外部类的静态成员。
接口内部类只能时静态内部类。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值