Inner Class和Static Nested Class的区别?

Inner Class:内部类

  • 内部类就是在一个类的内部定义的类
  • 内部类中不能定义静态成员
  • 内部类可以直接访问外部类中的成员变量
  • 内部类可以定义在外部类的方法外面,也可以定义在外部类的方法体中
  • 在方法体外面定义的内部类的访问类型可以是public,protecte,默认的,private等4种类型
  • 方法内部定义的内部类前面不能有访问类型修饰符,可以使用 final 或 abstract 修饰符
  • 创建内部类的实例对象时,一定要先创建外部类的实例对象,然后用这个外部类的实例对象去创建内部类的实例对象
  • 内部类里还包含匿名内部类,即直接对类或接口的方法进行实现,不用单独去定义内部类
//内部类的创建语法
Outer outer = new Outer();
Outer.Inner inner = outer.new Innner();

 

Static Nested Class:静态嵌套类

  • 不依赖于外部类的实例对象
  • 不能直接访问外部类的非 static 成员变量
  • 可以直接引用外部类的static的成员变量,不需要加上外部类的名字
  • 在静态方法中定义的内部类也是Static Nested Class
//静态内部类创建语法
Outter.Inner inner = new Outter.Inner();

 

给TA打赏
共{{data.count}}人
人已打赏
Java

为什么不能根据返回类型来区分方法重载?

2020-7-23 20:53:23

Java

abstract方法是否可是static的?native的?synchronized的?

2020-7-23 20:54:56

本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策。若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
⚠️
本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策
若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索