Java是一种编程语言,它有许多特性和功能,例如外部类和内部类。
外部类是Java程序中最常见的类。它指的是在源代码中定义为独立的类的类。一个类可以包含许多方法和变量,并且可以在另一个类中被实例化和使用。例如:
public class Car {
private String make;
private String model;
private int year;
//Constructor
public Car(String make, String model, int year) {
this.make = make;
this.model = model;
this.year = year;
}
//Getter
public String getMake() {
return make;
}
public String getModel() {
return model;
}
public int getYear() {
return year;
}
}
内部类是在另一个类中定义的类。这意味着我们可以访问外部类的成员,并且可以使用外部类的方法和变量。内部类有四种类型:成员内部类、静态内部类、局部内部类和匿名内部类。例如:
public class OuterClass {
private int x = 10;
//成员内部类
class InnerClass {
public int myInnerMethod() {
return x;
}
}
//静态内部类
static class StaticInnerClass {
public void myStaticInnerMethod() {
System.out.println("Static Inner Class");
}
}
//局部内部类
public void myMethod() {
class LocalInnerClass {
public void myLocalInnerMethod() {
System.out.println("Local Inner Class");
}
}
LocalInnerClass localInner = new LocalInnerClass();
localInner.myLocalInnerMethod();
}
//匿名内部类
interface AnonymousInterface {
public void myAnonymousMethod();
}
public void myAnonymousMethod() {
AnonymousInterface anonymous = new AnonymousInterface() {
public void myAnonymousMethod() {
System.out.println("Anonymous Inner Class");
}
};
anonymous.myAnonymousMethod();
}
}
最后,Java的外部类和内部类都有着各自的优缺点,具体取决于你的需求和实现细节。