java中内部类的定义是什么

   2024-09-30 4220
核心提示:在Java中,内部类(Inner Class)是定义在另一个类(外部类)内部的类。内部类可以访问外部类的成员(包括私有成员),而外部类

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

成员内部类:定义在外部类的成员位置,与成员变量、成员方法同级别。成员内部类可以访问外部类的所有成员,包括私有成员。
public class OuterClass {    private int outerVar;    public class InnerClass {        public void accessOuterMembers() {            System.out.println("Accessing outer class variable: " + outerVar);        }    }}
局部内部类:定义在方法内部或者代码块内部的类。局部内部类只能访问所在方法或代码块中的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();    }}
匿名内部类:没有类名的内部类,通常用于实现接口或继承类的子类。匿名内部类只能访问所在方法或代码块中的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();    }}
静态内部类:使用static关键字定义的内部类。静态内部类不能访问外部类的非静态成员,只能访问静态成员。
public class OuterClass {    private static int outerStaticVar;    public static class StaticInnerClass {        public void accessOuterStaticVar() {            System.out.println("Accessing outer static variable: " + outerStaticVar);        }    }}

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号