学Java开发就到迪派教育,开办电脑计算机培训,会计培训,外语培训学校,影视包装专业学校,游戏设计培训专业,工业设计专业,教育局批准的培训学校,经过十多年的发展已经成为东北较具影响力的一所计算机专业培训学校,首批全科专修学校!
Java中静态内部类和非静态内部类有什么区别
Java 允许在一个类中定义另一个类,这样的类被称为嵌套类,而嵌套类又可分为四种:
静态嵌套类
与类方法和字段一样,与外部类相关联
无法直接访问外部类的实例方法或字段
除了位于外部类的命名空间中,在行为上与普通类无异
它更多的目的是为了方便打包
内部类
与实例方法和字段一样,与外部类的实例相关联
可以直接访问该实例的私有方法和字段
无法定义自己的任何静态成员
不能声明 interface,因为接口本质是静态的
本地内部类
它是在块中定义的类,块就是使用成对的大括号组成语句,比如 for 循环
类似内部类,非静态,可访问外部类的私有成员
此外可访问局部变量和参数,但它们必须为 final 类型
可以声明静态的常量变量
匿名内部类
主要提供更简洁和方便的代码来使用本地内部类,在声明一个类的同时并实例化
与本地内部类类似,可访问 final 类型的局部变量
与内部类类似,可访问外部类的私有成员
不能声明构造函数,但可以声明一个用于初始的块
此外可以声明字段、额外的方法和本地类