色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java default和protent

錢淋西1年前10瀏覽0評論

Java中有兩種訪問修飾符:default和protected。它們都可以用來限制對類、方法和屬性的訪問。

首先,我們來看一下default修飾符。當一個類、方法或屬性沒有被修飾符明確指定時,默認使用的就是default修飾符。default修飾符的范圍是包內可見,也就是說,同一個包下的其他類可以訪問該類、方法或屬性,而不同包下的類則不能。

接下來,我們再來看一下protected修飾符。protected修飾符的范圍是子類和同一個包下的類可見,也就是說,不同包下的類無法訪問。這種訪問修飾符通常用來保護類的屬性,以防止外部類對其進行直接操作。在繼承中,子類可以訪問父類的protected屬性或方法。

public class Person {
String name;  // 使用default修飾符定義屬性
protected int age; // 使用protected修飾符定義屬性
private String gender;  // 使用private修飾符定義屬性,訪問權限為類內可見
public Person(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
protected void printAge() {  // 使用protected修飾符定義方法
System.out.println("My age is: " + age);
}
}
public class Student extends Person {
public Student(String name, int age, String gender) {
super(name, age, gender);
}
public void printInfo() {
System.out.println("My name is: " + name);
printAge();
}
}
public class Main {
public static void main(String[] args) {
Person person = new Person("Tom", 20, "Male");
Student student = new Student("Lucy", 18, "Female");
System.out.println(person.name);   // 正確,同一個包下的類可以訪問default屬性
System.out.println(person.gender); // 錯誤,訪問權限只有類內可見
System.out.println(person.age);    // 錯誤,不同包下的類無法訪問protected屬性
student.printInfo();  // 正確,子類可以訪問父類中的protected屬性和方法
}
}

在以上代碼中,我們定義了一個Person類,其中使用了default和protected修飾符;另外還定義了一個Student類,繼承自Person類。在Main類中,我們分別實例化了Person和Student對象,然后嘗試訪問它們的屬性和方法,以驗證default和protected修飾符的訪問限制。

總之,在Java中,使用default和protected修飾符可以很好地控制類、方法和屬性的訪問許可。在編寫代碼時,請根據實際需要選擇合適的訪問修飾符,以確保代碼的可讀性和安全性。