在Java中,成員變量的訪問權(quán)限可以通過使用不同的關(guān)鍵字進行設(shè)置。以下是四種訪問修飾符:
以下是一個示例,展示了如何使用不同的訪問修飾符來設(shè)置成員變量的訪問權(quán)限:
// 文件名:AccessTypeDemo.java
package com.example;
public class AccessTypeDemo {
// 公共訪問修飾符
public int publicVar;
// 受保護訪問修飾符
protected int protectedVar;
// 默認(包級私有)訪問修飾符
int defaultVar;
// 私有訪問修飾符
private int privateVar;
}
// 文件名:AccessTypeDemoSubClass.java
package com.example;
public class AccessTypeDemoSubClass extends AccessTypeDemo {
public void accessMembers() {
// 訪問公共成員變量
publicVar = 10;
// 訪問受保護成員變量
protectedVar = 20;
// 無法直接訪問默認(包級私有)成員變量
// defaultVar = 30; // 編譯錯誤
// 訪問私有成員變量(通過公共方法)
privateVar = 40;
System.out.println("Private variable value: " + getPrivateVar());
}
// 公共方法,用于獲取私有成員變量的值
public int getPrivateVar() {
return privateVar;
}
}
在上面的示例中,publicVar
和 protectedVar
可以在任何類中訪問,defaultVar
只能在同一包內(nèi)的類中訪問,而 privateVar
只能在 AccessTypeDemo
類中直接訪問。在子類 AccessTypeDemoSubClass
中,可以通過公共方法 getPrivateVar()
來訪問私有成員變量 privateVar
。