为了账号安全,请及时绑定邮箱和手机立即绑定

Java内部类和静态嵌套类

Java内部类和静态嵌套类

湖上湖 2019-05-24 15:48:11
Java内部类和静态嵌套类Java中的内部类和静态嵌套类之间的主要区别是什么?设计/实施是否在选择其中一个方面发挥作用?
查看完整描述

4 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

我认为上述答案都没有向您解释嵌套类和静态嵌套类在应用程序设计方面的真正区别:

概观

嵌套类可以是非静态的,也可以是静态的,并且在每种情况下都是在另一个类中定义的类嵌套类应该只存在于封闭类中,如果嵌套类对其他类(不仅是封闭的)有用,则应该声明为顶级类。

区别

非静态嵌套类:与包含类的封闭实例隐式关联,这意味着可以调用封闭实例的方法和访问变量。非静态嵌套类的一个常见用途是定义Adapter类。

静态嵌套类:无法访问封闭的类实例并在其上调用方法,因此在嵌套类不需要访问封闭类的实例时应该使用它。静态嵌套类的一个常见用途是实现外部对象的组件。

结论

因此,从设计的角度来看,两者之间的主要区别是:非静态嵌套类可以访问容器类的实例,而静态则不能


查看完整回答
反对 回复 2019-05-24
  • 4 回答
  • 0 关注
  • 740 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号