在Java中,内部类可以声明局部变量、成员变量和静态变量。以下是各种变量的声明示例:
- 局部变量:局部变量在方法或代码块内声明,其作用域仅限于该方法或代码块。
public class OuterClass { public void innerMethod() { int localVar = 10; // 局部变量 } }
- 成员变量:成员变量在内部类中声明,其作用域为整个外部类。成员变量的生命周期与外部类的实例相同。
public class OuterClass { private int memberVar = 20; // 成员变量 public class InnerClass { public void accessMemberVar() { System.out.println("Member variable: " + memberVar); } } }
- 静态变量:静态变量在内部类中声明,使用
static
关键字修饰。静态变量的作用域为整个外部类,但其生命周期与外部类的类加载器相同,而不是与外部类的实例相同。
public class OuterClass { private static int staticVar = 30; // 静态变量 public class InnerClass { public void accessStaticVar() { System.out.println("Static variable: " + staticVar); } } }
注意:内部类可以访问外部类的所有成员(包括私有成员),但外部类不能直接访问内部类的成员(除非通过内部类的实例)。