Java內部類的修飾符可以使用以下幾種方式:
private:只有外部類可以訪問內部類,其他類無法訪問。
protected:只有外部類及其子類可以訪問內部類,其他類無法訪問。
public:任何類都可以訪問內部類。
static:靜態內部類,可以通過外部類名直接訪問,不需要創建外部類的實例。
final:不可被繼承的內部類。
示例:
public class OuterClass {
private int outerField;
public void outerMethod() {
InnerClass innerClass = new InnerClass();
innerClass.innerMethod();
}
private class InnerClass {
private int innerField;
public void innerMethod() {
System.out.println("Inner Field: " + innerField);
System.out.println("Outer Field: " + outerField);
}
}
public static void main(String[] args) {
OuterClass outerClass = new OuterClass();
outerClass.outerMethod();
}
}
在上述示例中,內部類InnerClass使用private修飾,只有外部類OuterClass可以訪問。內部類的innerMethod()方法可以訪問外部類的outerField字段。
需要注意的是,靜態內部類可以直接通過外部類名訪問,不需要創建外部類的實例。例如:
OuterClass.InnerClass innerClass = new OuterClass.InnerClass();
以上是內部類修飾符的正確使用方法,根據實際需求選擇合適的修飾符。