淺談一下Java中的訪問(wèn)修飾符以及作用
Java 中的訪問(wèn)修飾符用于限制類、接口、字段和方法的訪問(wèn)范圍,它們分別表示不同的訪問(wèn)控制級(jí)別。Java 中共有四種訪問(wèn)修飾符:public、protected、default 和 private。
public
public 是最開(kāi)放的訪問(wèn)修飾符,用于指定公共訪問(wèn)級(jí)別。被 public 修飾的類、接口、字段和方法可以在任何地方被訪問(wèn)。
例如,下面的代碼定義了一個(gè)公共類:
public class MyClass {
// ...
}這個(gè)類可以在任何地方被訪問(wèn)。另外,如果一個(gè)方法或字段被聲明為 public,那么它也可以在任何地方被訪問(wèn)。例如:
public class MyClass {
public String name;
public void sayHello() {
System.out.println("Hello, world!");
}
}protected
protected 用于指定受保護(hù)的訪問(wèn)級(jí)別。被 protected 修飾的類、字段和方法可以被本包內(nèi)的其他類訪問(wèn),以及子類中訪問(wèn)。
例如,下面的代碼定義了一個(gè)受保護(hù)的類:
package mypackage;
protected class MyProtectedClass {
// ...
}這個(gè)類只能被 mypackage 包內(nèi)的其他類訪問(wèn),以及繼承了 MyProtectedClass 的子類訪問(wèn)。另外,如果一個(gè)方法或字段被聲明為 protected,那么它也可以被同一包內(nèi)的其他類訪問(wèn),以及繼承了該類的子類訪問(wèn)。例如:
package mypackage;
public class MyClass {
protected String name;
protected void sayHello() {
System.out.println("Hello, world!");
}
}這個(gè)類的 name 和 sayHello 方法可以被 mypackage 包內(nèi)的其他類訪問(wèn),以及繼承了 MyClass 的子類訪問(wèn)。
default
default 是 Java 中默認(rèn)的訪問(wèn)修飾符,它也稱為包級(jí)私有訪問(wèn)控制。如果一個(gè)類、接口、字段或方法沒(méi)有使用任何訪問(wèn)修飾符,那么它就是默認(rèn)訪問(wèn)級(jí)別。默認(rèn)訪問(wèn)級(jí)別表示只能在同一包內(nèi)進(jìn)行訪問(wèn)。
例如,下面的代碼定義了一個(gè)默認(rèn)訪問(wèn)級(jí)別的類:
package mypackage;
class MyDefaultClass {
// ...
}這個(gè)類只能被 mypackage 包內(nèi)的其他類訪問(wèn)。另外,如果一個(gè)方法或字段沒(méi)有使用任何訪問(wèn)修飾符,那么它也是默認(rèn)訪問(wèn)級(jí)別。例如:
package mypackage;
public class MyClass {
String name;
void sayHello() {
System.out.println("Hello, world!");
}
}這個(gè)類的 name 和 sayHello 方法只能被 mypackage 包內(nèi)的其他類訪問(wèn)。
private
private 是最嚴(yán)格的訪問(wèn)修飾符,它用于指定私有訪問(wèn)級(jí)別。被 private 修飾的字段和方法只能在定義它們的類內(nèi)部進(jìn)行訪問(wèn)。
例如,下面的代碼定義了一個(gè)私有類:
public class MyClass {
private String name;
private void sayHello() {
System.out.println("Hello, world!");
}
}這個(gè)類的 name 和 sayHello 方法只能在 MyClass 類內(nèi)部進(jìn)行訪問(wèn)。
總結(jié):
Java 中的四種訪問(wèn)修飾符分別表示不同的訪問(wèn)控制級(jí)別,可以用于限制類、接口、字段和方法的訪問(wèn)范圍。public 是最開(kāi)放的訪問(wèn)級(jí)別,protected 是受保護(hù)的訪問(wèn)級(jí)別,default 是默認(rèn)的訪問(wèn)級(jí)別,private 是最嚴(yán)格的訪問(wèn)級(jí)別。在實(shí)際編程中,我們應(yīng)該根據(jù)需要選擇合適的訪問(wèn)修飾
到此這篇關(guān)于淺談一下Java中的訪問(wèn)修飾符以及作用的文章就介紹到這了,更多相關(guān)Java中的訪問(wèn)修飾符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 輸入多行字符串或者多個(gè)int數(shù)值的方法
今天小編就為大家分享一篇Java 輸入多行字符串或者多個(gè)int數(shù)值的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
SpringBoot集成PDFBox實(shí)現(xiàn)電子簽章的代碼詳解
Apache PDFBox 是一個(gè)開(kāi)源的 Java 庫(kù),用于處理 PDF 文檔,它提供了一系列強(qiáng)大的功能,包括創(chuàng)建、渲染、拆分、合并、加密、解密 PDF 文件,以及從 PDF 中提取文本和元數(shù)據(jù)等,本文給大家介紹了SpringBoot集成PDFBox實(shí)現(xiàn)電子簽章,需要的朋友可以參考下2024-09-09
hibernate測(cè)試時(shí)遇到的幾個(gè)異常及解決方法匯總
今天小編就為大家分享一篇關(guān)于hibernate測(cè)試時(shí)遇到的幾個(gè)異常及解決方法匯總,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
關(guān)于SpringBoot中Ajax跨域以及Cookie無(wú)法獲取丟失問(wèn)題
這篇文章主要介紹了關(guān)于SpringBoot中Ajax跨域以及Cookie無(wú)法獲取丟失問(wèn)題,本文具有參考意義,遇到相同或者類似問(wèn)題的小伙伴希望可以從中找到靈感2023-03-03
java中StringBuffer的length()和capacity()方法對(duì)比
這篇文章主要介紹了java中StringBuffer的length()和capacity()方法對(duì)比,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
java string類型轉(zhuǎn)換boolean類型的方法
下面小編就為大家?guī)?lái)一篇java string類型轉(zhuǎn)換boolean類型的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11
Springboot PostMapping無(wú)法獲取數(shù)據(jù)問(wèn)題及解決
這篇文章主要介紹了Springboot PostMapping無(wú)法獲取數(shù)據(jù)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05

