{"title":"Java内部类详解:成员、局部、匿名、静态内部类的实例说明","description":"深入了解Java内部类,包括成员内部类、局部内部类、匿名内部类和静态内部类,并附带清晰的代码示例。","keywords":"Java, 内部类, 成员内部类, 局部内部类, 匿名内部类, 静态内部类, 代码示例","content":"在Java中,内部类是指定义在其他类内部的类。它们与外部类有着紧密的关系,可以访问外部类的私有成员,并且可以被外部类访问。内部类可以分为以下几种类型:成员内部类、局部内部类、匿名内部类和静态内部类。\n\n1. 成员内部类:\n 成员内部类是定义在外部类的成员位置上的类,它与外部类的成员拥有相同的访问权限。下面是一个例子:\n\n java\n public class OuterClass {\n private int x = 10;\n\n public class InnerClass {\n public void display() {\n System.out.println("x = " + x);\n }\n }\n }\n \n\n 在这个例子中,OuterClass是外部类,InnerClass是成员内部类。InnerClass可以访问外部类的私有成员x,通过创建OuterClass的对象来访问InnerClass。\n\n2. 局部内部类:\n 局部内部类是定义在方法内部的类,它只在该方法内部可见。下面是一个例子:\n\n java\n public class OuterClass {\n public void display() {\n class LocalInnerClass {\n public void print() {\n System.out.println("Local inner class");\n }\n }\n\n LocalInnerClass localInner = new LocalInnerClass();\n localInner.print();\n }\n }\n \n\n 在这个例子中,LocalInnerClass是局部内部类,它只在display()方法内部可见。通过创建display()方法的对象来访问LocalInnerClass。\n\n3. 匿名内部类:\n 匿名内部类是没有类名的内部类,它通常用于创建实现某个接口或继承某个类的对象。下面是一个例子:\n\n java\n public class OuterClass {\n public void display() {\n Runnable runnable = new Runnable() {\n @Override\n public void run() {\n System.out.println("Anonymous inner class");\n }\n };\n\n Thread thread = new Thread(runnable);\n thread.start();\n }\n }\n \n\n 在这个例子中,我们创建了一个实现Runnable接口的匿名内部类,并通过创建Thread对象来启动线程。\n\n4. 静态内部类:\n 静态内部类是定义在外部类内部的静态类,它与外部类的其他静态成员一样,可以直接通过外部类名访问。下面是一个例子:\n\n java\n public class OuterClass {\n private static int x = 10;\n\n public static class StaticInnerClass {\n public void display() {\n System.out.println("x = " + x);\n }\n }\n }\n \n\n 在这个例子中,StaticInnerClass是静态内部类,它可以直接访问外部类的静态成员x,通过OuterClass.StaticInnerClass来访问。"}

Java内部类详解:成员、局部、匿名、静态内部类的实例说明

原文地址: http://www.cveoy.top/t/topic/pYlK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录