参考答案:
内部类(Inner Class)是定义在另一个类内部的类。它是一种嵌套类,在逻辑上和外部类关联,用于将某些逻辑功能封装在一起。
内部类可以访问外部类的成员(包括私有成员),并在外部类中实现更好的封装性和逻辑组织。
内部类根据定义位置和特性,可以分为以下几种类型:
静态内部类(Static Nested Class)
static
修饰。成员内部类(Non-static Inner Class)
static
修饰。局部内部类(Local Inner Class)
final
或 effectively final)。匿名内部类(Anonymous Inner Class)
更好的封装性:
逻辑上的组织性:
访问外部类成员:
便于回调或事件处理:
静态内部类:
1class Outer { 2 static class StaticNested { 3 void display() { 4 System.out.println("Static Nested Class"); 5 } 6 } 7} 8 9public class Main { 10 public static void main(String[] args) { 11 Outer.StaticNested nested = new Outer.StaticNested(); 12 nested.display(); 13 } 14}
成员内部类:
1class Outer { 2 private String message = "Hello, Inner Class!"; 3 4 class Inner { 5 void display() { 6 System.out.println(message); 7 } 8 } 9} 10 11public class Main { 12 public static void main(String[] args) { 13 Outer outer = new Outer(); 14 Outer.Inner inner = outer.new Inner(); 15 inner.display(); 16 } 17}
匿名内部类:
1interface Greeting { 2 void sayHello(); 3} 4 5public class Main { 6 public static void main(String[] args) { 7 Greeting greeting = new Greeting() { 8 @Override 9 public void sayHello() { 10 System.out.println("Hello from Anonymous Inner Class!"); 11 } 12 }; 13 greeting.sayHello(); 14 } 15}
最近更新时间:2024-12-09