在Java中,類的訪問修飾符有四種:public、protected、默認(無修飾符)和private。方法的訪問修飾符也有四種:public、protected、默認(無修飾符)和private。這些修飾符決定了類和方法的可見性。
public:當一個類或方法被聲明為public時,它可以在同一個包中的其他類訪問,也可以在不同包中的其他類訪問。這是最寬泛的訪問權限。
protected:當一個類或方法被聲明為protected時,它可以在同一個包中的其他類訪問,也可以在不同包中的子類訪問。這是限制訪問權限的一種方式。
默認(無修飾符):當一個類或方法沒有使用任何訪問修飾符時,它的訪問權限為默認。這意味著它只能在同一個包中的其他類訪問。
private:當一個類或方法被聲明為private時,它只能在聲明它的類內部訪問,不能在同一個包中的其他類或不同包中的類訪問。這是最嚴格的訪問權限。
以下是一個簡單的示例,展示了如何定義和使用具有不同訪問修飾符的類和方法:
// 文件名:AccessModifiersExample.java
package com.example;
public class AccessModifiersExample {
// public變量可以在任何地方訪問
public int publicVar = 10;
// protected變量可以在同一個包中的其他類或不同包中的子類訪問
protected int protectedVar = 20;
// 默認(無修飾符)變量只能在同一個包中的其他類訪問
int defaultVar = 30;
// private變量只能在聲明它的類內部訪問
private int privateVar = 40;
// public方法可以在任何地方訪問
public void publicMethod() {
System.out.println("This is a public method.");
}
// protected方法可以在同一個包中的其他類或不同包中的子類訪問
protected void protectedMethod() {
System.out.println("This is a protected method.");
}
// 默認(無修飾符)方法只能在同一個包中的其他類訪問
void defaultMethod() {
System.out.println("This is a default method.");
}
// private方法只能在聲明它的類內部訪問
private void privateMethod() {
System.out.println("This is a private method.");
}
}
在這個示例中,我們定義了一個名為AccessModifiersExample
的類,其中包含了具有不同訪問修飾符的變量和方法。要訪問這些變量和方法,你需要創建一個AccessModifiersExample
類的實例,并調用相應的方法。