关于静态内部类和普通内部类的访问权限问题

本文探讨了Java中静态内部类与外部类的区别,强调直接访问属性的方式,以及静态内部类如何访问外部类的静态属性但不能访问成员属性。同时,普通内部类的权限限制和创建原理也进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先定义一下直接访问:类名.方式访问静态属性不算直接访问,直接用属性名访问才叫直接访问。

静态内部类可以有实例属性和静态属性。能直接访问外部类的静态属性,不能直接访问外部类的成员属性。因为静态内部类可以直接创建对象,而不用先创建外部类对象。这样有可能外部类并没有创建对象,成员属性自然也就无法访问。
外部类无法直接访问静态内部类的属性,因为创建了外部类,静态内部类不一定有创建对象。

普通内部类只能有成员属性,不能有静态属性。
因为有外部类对象的情况下不一定创建了内部类对象,所以外部类对象不可以直接访问内部类的属性,而内部类可以直接访问外部类的成员属性和静态属性。

静态内部类和外部类差不多,权限等级等都一样。

对于那种只对某个类有用的一些类,就没必要创建成外部类,可以创建成内部类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值