跳到主要内容

Java 内部类、外部类

内部类

定义:

  • Java 中的内部类是一种特殊的类,它定义在另一个类的内部,可以访问外部类的所有成员,包括私有的。内部类可以访问外部类的所有成员变量和方法,即使它们是私有的。

作用:

  • 解决多重继承的问题,提供更多的灵活性
  • 提高封装性,可以把不需要外部类使用的内部类隐藏起来
  • 能够访问外部类的所有成员,包括私有变量和方法

外部类

定义:

  • 外部类是指定义在另一个类外部的类。一个外部类可以有多个内部类,而一个内部类也可以嵌套其他内部类

作用:

  • 创建内部类
  • 提供一个简单的方式来访问内部类的方法和属性
  • 提供多层次结构,更好地把代码组织起来

示例

定义:

// 外部类:
public class OuterClass {
private int x;
public void outerMethod(){
System.out.println("This is outer method");
}

//内部类
public class InnerClass {
public void innerMethod(){
System.out.println("This is inner method");
System.out.println("The value of outer class variable x is " + x);
}
}
}

调用:

OuterClass outerClass = new OuterClass();
OuterClass.InnerClass innerClass = outerClass.new InnerClass();
innerClass.innerMethod();
outerClass.outerMethod();