java中内部类的定义是什么

avatar
作者
猴君
阅读量:0

在Java中,内部类(Inner Class)是定义在另一个类(外部类)内部的类。内部类可以访问外部类的成员(包括私有成员),而外部类也可以访问内部类的成员。内部类可以分为四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。

  1. 成员内部类:定义在外部类的成员位置,与成员变量、成员方法同级别。成员内部类可以访问外部类的所有成员,包括私有成员。
public class OuterClass {     private int outerVar;      public class InnerClass {         public void accessOuterMembers() {             System.out.println("Accessing outer class variable: " + outerVar);         }     } } 
  1. 局部内部类:定义在方法内部或者代码块内部的类。局部内部类只能访问所在方法或代码块中的final变量。
public class OuterClass {     public void createLocalInnerClass() {         final int localVar = 10;          class LocalInnerClass {             public void accessLocalVar() {                 System.out.println("Accessing local variable: " + localVar);             }         }          LocalInnerClass localInner = new LocalInnerClass();         localInner.accessLocalVar();     } } 
  1. 匿名内部类:没有类名的内部类,通常用于实现接口或继承类的子类。匿名内部类只能访问所在方法或代码块中的final变量。
public class OuterClass {     public void createAnonymousInnerClass() {         Runnable runnable = new Runnable() {             @Override             public void run() {                 System.out.println("Anonymous inner class running.");             }         };          new Thread(runnable).start();     } } 
  1. 静态内部类:使用static关键字定义的内部类。静态内部类不能访问外部类的非静态成员,只能访问静态成员。
public class OuterClass {     private static int outerStaticVar;      public static class StaticInnerClass {         public void accessOuterStaticVar() {             System.out.println("Accessing outer static variable: " + outerStaticVar);         }     } } 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!