网络营销能干什么工作秦洁婷seo博客
// 外部类
class OuterClass {private String instanceVar = "外部类实例变量"; // 实例变量private static String staticVar = "外部类静态变量"; // 静态变量// 非静态内部类class InnerClass {void display() {// 访问外部类的实例变量和静态变量System.out.println("非静态内部类访问:" + instanceVar);System.out.println("非静态内部类访问:" + staticVar);}}// 静态内部类static class StaticInnerClass {static void staticMethod() {System.out.println("静态内部类中的静态方法");}void display() {// 只能访问外部类的静态变量,不能直接访问实例变量System.out.println("静态内部类访问:" + staticVar);// System.out.println(instanceVar); // ❌ 编译错误,不能访问外部类的实例变量}}
}public class Main {public static void main(String[] args) {// 1. 实例化非静态内部类(必须先创建外部类实例)OuterClass outer = new OuterClass();OuterClass.InnerClass inner = outer.new InnerClass();inner.display();// 2. 实例化静态内部类(可以直接创建,无需外部类实例)OuterClass.StaticInnerClass staticInner = new OuterClass.StaticInnerClass();staticInner.display();// 3. 访问静态内部类的静态方法(不需要实例化)OuterClass.StaticInnerClass.staticMethod();}
}
-
非静态内部类 (
InnerClass
)-
依赖外部类实例,必须先创建
OuterClass
实例,才能创建InnerClass
对象(outer.new InnerClass()
)。 -
可以访问外部类的实例变量和静态变量。
-
-
静态内部类 (
StaticInnerClass
)-
不依赖外部类实例,可以直接创建对象(
new OuterClass.StaticInnerClass()
)。 -
不能访问外部类的实例变量,但可以访问静态变量。
-
可以定义静态成员,如
staticMethod()
,可以直接调用OuterClass.StaticInnerClass.staticMethod()
。
-