介紹
Java許可權修飾符是Java語言中用來控制對類、方法、變數、構造方法的訪問許可權的關鍵字。許可權級別從高到低依次為private、default、protected、public四種。
許可權修飾符的出現使得我們可以在類的內部和外部對屬性和方法的訪問進行控制和限制,確保程序的可靠性和安全性。
Java許可權修飾符
Java中有以下四種許可權修飾符:
- private
- default(默認的)
- protected
- public
這些許可權修飾符可以用於類、介面、變數、方法四種成員:
- 類的成員:成員變數、成員方法、構造方法
- 介面的成員:常量、抽象方法
- 變數:局部變數、成員變數(屬性)
- 方法:實例方法、類方法(靜態方法)
四大許可權修飾符
四大許可權修飾符是指Java中的private、default、protected和public。
private
private修飾的變數或者方法只能在該類的內部被調用,外部無法訪問。聲明為private的屬性和方法不能被其他類調用,也不能被繼承。
public class TestPrivate {
private int age = 18; // 私有變數,只能在類內部訪問
private String name = "John"; // 私有變數,只能在類內部訪問
private void sayHello() { // 私有方法,只能在類內部訪問
System.out.println("Hello, my name is " + name + ", I'm " + age + " years old.");
}
public void doSomething() {
sayHello(); // 在類的內部調用私有方法
}
}
default
如果一個成員沒有用public、protected、private進行修飾,則默認是default類型的。也就是說,default類型的成員可以被同一個包中的其他類訪問,其他包中的類無法訪問。
package com.example;
class TestDefault {
int age = 18; // 默認許可權修飾符,包內可見
String name = "John"; // 默認許可權修飾符,包內可見
void sayHello() { // 默認許可權修飾符,包內可見
System.out.println("Hello, my name is " + name + ", I'm " + age + " years old.");
}
}
public class Main {
public static void main(String[] args) {
TestDefault test = new TestDefault();
test.sayHello(); // 在同一個包中調用默認許可權修飾符的方法和變數
}
}
protected
protected修飾的變數或者方法不能被外部調用,但是可以被同一包內或者繼承該類的類調用。
public class TestProtected {
protected int age = 18; // 受保護的成員變數,本類、同一個包中的類以及繼承該類的子類中可見
protected String name = "John"; // 受保護的成員變數,本類、同一個包中的類以及繼承該類的子類中可見
protected void sayHello() { // 受保護的成員方法,本類、同一個包中的類以及繼承該類的子類中可見
System.out.println("Hello, my name is " + name + ", I'm " + age + " years old.");
}
}
public class TestProtectedSubclass extends TestProtected {
public void doSomething() {
age = 20; // 子類中可以訪問受保護的成員變數
name = "Mike";
sayHello(); // 子類中可以訪問受保護的成員方法
}
}
public
public修飾的變數和方法可以被任何類調用。
public class TestPublic {
public int age = 18; // 公共成員變數,任何類中均可見
public String name = "John"; // 公共成員變數,任何類中均可見
public void sayHello() { // 公共成員方法,任何類中均可見
System.out.println("Hello, my name is " + name + ", I'm " + age + " years old.");
}
}
總結
Java許可權修飾符是控制變數、方法或其他的聲明訪問許可權的關鍵字。private、default、protected和public四種許可權修飾符分別用於限制不同範圍內的訪問,確保程序的可靠性和安全性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/296195.html