0002_内部类、静态嵌套类
内部类、静态嵌套类
内部类的一个简单例子如下所示:在外部类中定义了一个非静态内部类 "InnerClass",并在该类的方法中实例化并调用了该内部类。
public class OuterClass {
private int outerVar;
public OuterClass(int var) {
outerVar = var;
}
public void printInner() {
InnerClass inner = new InnerClass();
inner.print();
}
private class InnerClass {
public void print() {
System.out.println(outerVar);
}
}
}
以上代码中的 InnerClass
即为一个非静态内部类。非静态内部类可以通过访问外部类的成员变量和方法来实现一些特殊的功能,比如实现某种接口或抽象类等。
另一个例子是静态嵌套类,我们可以将其看作一个普通的类,只不过它被定义在另一个类的内部。如下所示:
public class OuterClass {
private static int outerVar;
public static void printInner() {
StaticNestedClass.staticPrint();
}
private static class StaticNestedClass {
private static void staticPrint() {
System.out.println("Static Nested Class: " + outerVar);
}
}
}
以上代码中的 StaticNestedClass
即为一个静态嵌套类。静态嵌套类可以不依赖于外部类的实例而被单独创建和使用,可以看做是仅在外部类的命名空间内定义的一个普通类。
总之,内部类和静态嵌套类是 Java 中对类的一种特殊定义方式,它们可以用于设计方案上更细致的控制和封装。
分类:
编程语言 / Java相关问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?