Java内部类是指定义在另一个类里面的类,它可以访问外部类的所有成员,包括私有成员。内部类可以被声明为public、protected、private和包访问权限。内部类可以使用外部类的所有成员和方法,包括private成员和方法。
Java内部类可以使用外部类的this引用,这样就可以访问外部类的所有成员。例如:
class OuterClass { private int x = 10; class InnerClass { public void printX() { System.out.println("x = " + x); } } }
在上面的代码中,InnerClass能够访问OuterClass中的x字段,因为它是OuterClass的一个内部类。
局部内部类的对象是使用块中的新运算符创建的,它声明了类。
在声明类的同时创建一个匿名类的对象。
静态成员类是另一种类型的顶级类。
您可以按照创建顶级类的对象的方式创建静态成员类的对象。
成员内部类的实例始终存在于其封闭类的实例中。
创建成员内部类的实例的一般语法如下:
OuterClassReference.new MemberInnerClassConstructor()
OuterClassReference是包围类的引用,后跟一个后跟新运算符的点。
成员内部类的构造函数调用遵循new运算符。
class Outer { public class Inner { } }
要创建内部成员内部类的实例,必须首先创建其封闭类Outer的实例。
Outer out = new Outer();
现在,您需要在out参考变量上使用new运算符来创建Inner类的对象。
out.new Inner();
为了将内部成员内部类的实例的引用存储在引用变量中,我们可以写下面的语句:
Outer.Inner in = out.new Inner();
以下代码显示了如何创建成员内部类的对象
public class Main { public static void main(String[] args) { Car c = new Car(); Car.Tire t = c.new Tire(9); } } class Car { public class Tire { private int size; public Tire(int size) { this.size = size; } public String toString() { return "Monitor - Size:" + this.size + " inch"; } } }
Java面向对象设计 -Java注释类型标记注释类型标记注释类型是没有元素的注释类型,甚至没有默认值。标记注释由注释处理工具使用。...
Java数据类型教程 -Java Boolean包装类布尔类的对象包装一个布尔值。Boolean.TRUE和Boolean.FALSE是布尔类型的两个常量,用于表...
Java数据类型教程 -Java自动装箱和拆箱AutoBoxing和unboxing使用原始数据类型及其相应的包装类。它们完全在编译器中实现。从原始...