在Java中,静态成员类(static nested class)是一种嵌套在另一个类中的类,且被声明为静态。静态成员类不依赖于外部类的实例,可以直接通过外部类的类名来访问。
优先考虑使用静态成员类的情况通常是当这个类与外部类的实例无关,并且不需要访问外部类的非静态成员时。这样可以避免创建不必要的外部类实例,提高代码的清晰度和性能。
以下是一个简单的示例,演示了静态成员类的用法。考虑一个Car
类,其中包含一个静态成员类 Engine
,表示车辆的引擎。
public class Car {
private String model;
private int year;
// 构造函数
public Car(String model, int year) {
this.model = model;
this.year = year;
}
// Getter 方法
public String getModel() {
return model;
}
public int getYear() {
return year;
}
// 静态成员类
public static class Engine {
private int horsepower;
// 构造函数
public Engine(int horsepower) {
this.horsepower = horsepower;
}
// Getter 方法
public int getHorsepower() {
return horsepower;
}
// 引擎的其他方法...
}
// 其他 Car 类的方法...
}