java面相对象 内部类
时间: 2023-10-22 07:56:07 浏览: 91
Java 内部类
在Java中,内部类是定义在另一个类内部的类。它们可以访问外部类的成员,包括私有成员,并且可以提供更好的封装性和代码组织性。
Java中有四种类型的内部类:
1. 成员内部类(Member Inner Class):定义在另一个类的内部,并且与外部类的实例相关联。可以访问外部类的所有成员,包括私有成员。
2. 静态内部类(Static Inner Class):定义在另一个类的内部,并且与外部类的实例无关。它可以访问外部类的静态成员,但不能直接访问外部类的非静态成员。
3. 局部内部类(Local Inner Class):定义在方法或代码块内部的类。它只能在定义它的方法或代码块中访问,并且不能使用访问控制修饰符或static修饰符。
4. 匿名内部类(Anonymous Inner Class):没有显式的名称,用于创建一个实例化对象。通常用于实现接口或继承抽象类。
下面是一个示例代码,展示了如何定义和使用内部类:
```java
public class OuterClass {
private int outerVariable = 10;
public void outerMethod() {
InnerClass inner = new InnerClass();
inner.innerMethod();
}
class InnerClass {
private int innerVariable = 20;
public void innerMethod() {
System.out.println("Outer Variable: " + outerVariable);
System.out.println("Inner Variable: " + innerVariable);
}
}
public static void main(String[] args) {
OuterClass outer = new OuterClass();
outer.outerMethod();
}
}
```
在上面的例子中,`InnerClass`是一个成员内部类,它可以访问外部类`OuterClass`的私有成员`outerVariable`。在`outerMethod`方法中创建了`InnerClass`的实例,并调用了`innerMethod`方法来访问内部类的成员以及外部类的成员。
内部类提供了一种实现多重继承和代码组织的方式,并且可以增强代码的可读性和可维护性。
阅读全文