在Java編程語言中,類的三種訪問權限的區別

在Java編程語言中,類可以用public、protected或private關鍵字來指定訪問權限。這三種訪問權限有如下區別:


在Java編程語言中,類的三種訪問權限的區別

1. public訪問權限:


使用public關鍵字表示該類的成員可以被任何其他類訪問。對於public成員變量和成員函數,其他類可以直接訪問和調用,不需要繼承該類也可以使用。一般來說,public訪問權限用於指定開放的API,能夠方便其他開發人員使用。


2. protected訪問權限:


使用protected關鍵字表示該類的成員可以被該類的子類和同一包中的其他類訪問。使用protected訪問權限的成員只能在本類和其子類中訪問,在同一包中的其他類也可以訪問該成員。使用protected訪問權限能夠實現類成員的限制和封裝,並且也不會過度暴露使用細節。


3. private訪問權限:


使用private關鍵字表示該類的成員只能被該類的成員訪問。private訪問權限被用於強制實現類的封裝特性,使得除了改變私有成員的類之外,沒有其他任何代碼可以訪問或修改私有成員。在類的內部和嵌套類中可以訪問private成員,而在其他類中,private成員無法被訪問。


總結來說,public、protected和private訪問權限是三種不同的訪問級別,可以根據需要選擇合適的訪問級別來限制和保護類的成員。這樣可以實現更好的封裝,讓代碼更加安全和可靠。


下面是示例代碼演示三種訪問權限之間的區別:


public class ExampleClass {
   
    public int publicVar;       // 公有成員變量
    protected int protectedVar; // 受保護的成員變量
    private int privateVar;     // 私有成員變量
   
    public ExampleClass() {
        publicVar = 1;
        protectedVar = 2;
        privateVar = 3;
    }
   
    public void publicMethod() {
        System.out.println("This is a public method");
    }
   
    protected void protectedMethod() {
        System.out.println("This is a protected method");
    }
   
    private void privateMethod() {
        System.out.println("This is a private method");
    }
}
public class ChildClass extends ExampleClass {
   
    public ChildClass() {
        super();
    }
   
    // 覆蓋父類的protected方法
    @Override
    protected void protectedMethod() {
        System.out.println("This is a protected method in child class");
    }
}
public class TestClass {
   
    public static void main(String[] args) {
       
        ExampleClass obj = new ExampleClass();
       
        // 訪問公有成員變量和成員方法
        System.out.println(obj.publicVar);
        obj.publicMethod();
       
        // 訪問受保護的成員變量和成員方法
        obj.protectedVar = 10;
        obj.protectedMethod();
       
        // 私有成員無法在外部類中直接訪問
        // obj.privateVar = 20;
        // obj.privateMethod();
       
        ChildClass childObj = new ChildClass();
       
        // 這裏訪問父類的受保護的成員變量和成員方法,因為ChildClass繼承自ExampleClass,
        // 所以ChildClass可以在自己的方法和構造函數中通過super關鍵字訪問超類的受保護成員
        childObj.protectedVar = 30;
        childObj.protectedMethod();
    }
}


在上面的代碼中,我們定義了一個ExampleClass,並將其中的成員分別聲明為public、protected和private,然後創建了一個ChildClass作為ExampleClass的子類。在TestClass中,我們創建了一個ExampleClass的對象obj,並分別訪問了ExampleClass中的public、protected和private成員,結果表明:公有成員變量和成員方法可以被其他類直接訪問,受保護的成員變量和成員方法只能在繼承類中或者和ExampleClass在同一包內的類中訪問,而私有成員則只能在同一個類的成員函數中訪問,無法被其他類直接訪問。最後我們還創建了ChildClass類,並覆蓋了ExampleClass中的protectedMethod方法,並通過super關鍵字訪問了ExampleClass的受保護成員。

分享給朋友:

“在Java編程語言中,類的三種訪問權限的區別” 的相關文章

視頻嵌入代碼,簡單的 video 嵌入代碼例子

視頻嵌入代碼,簡單的 video 嵌入代碼例子

視頻嵌入代碼,簡單的 video 嵌入代碼例子:- height:視頻高度。- controls:為 true 時,添加視頻控制條。- source:指定視頻文件路徑和類型,可支持多種類型。- Your browser does not support the video tag:如果用戶的瀏覽器不支持 HTML5  標記,則會顯示此消息。值得註意的是,這種視頻嵌入方式可能會因為用戶瀏覽器兼容性問題而無法播放,因此可能需要添加備用方案,如 Flash 等。同時,需要根據實際情況調整視頻的寬高比例、大小和文件大小等參數,以便更好地適配不同的設備和網絡環境。…

javascript怎麼改變字體顏色文本顏色代碼

javascript怎麼改變字體顏色文本顏色代碼

這裏是一個簡單的 JavaScript改變文體顏色代碼示例,它會在頁面上創建一個按鈕,點擊該按鈕會使文本顏色發生變化。這段代碼首先在頁面中創建了一個按鈕,然後獲取該按鈕和一個段落元素的引用,接著為按鈕添加了一個事件監聽器,當按鈕被點擊時,段落文本顏色將變成紅色。…

用html和CSS3制作酷炫的導航欄代碼及例子

用html和CSS3制作酷炫的導航欄代碼及例子

使用HTML5和CSS3的新特性可以制作出很多酷炫的導航欄效果,例如下拉菜單、響應式導航欄、帶有動態效果的導航欄等等。下面以下拉菜單為例,具體步驟如下:1. 創建 HTML 結構;2. 設置基本樣式;3. 添加動態效果。這樣就可以制作出下拉菜單效果,當滑鼠懸停在菜單項上時,菜單項下面的下拉菜單顯示出來,同時菜單項上的箭頭指向上方,滑鼠移開時,下拉菜單消失。在此過程中,使用了CSS3的過渡效果和旋轉效果,使效果更加炫酷。  …

HTML網頁制作模板代碼學習

HTML網頁制作模板代碼學習

如果你想學習制作網頁,那麼學習HTML網頁制作模板代碼就是一個非常不錯的開始。在本文中,我們將為大家提供一些HTML網頁制作模板代碼的示例,幫助大家快速入門網頁制作。在互聯網時代,網頁制作已經成為了越來越廣泛的技能。HTML是網頁制作中最基礎的語言之一,通過學習HTML網頁制作模板代碼,我們可以快速入門網頁制作。很好的文章,講述了在互聯網時代,網頁制作已經成為了越來越廣泛的技能。如何通過學習HTML網頁制作模板代碼,來快速入門網頁制作。文章的結構清晰,通俗易懂,有助於讀者快速掌握該技能。…

學習html網頁制作模板代碼怎麼寫

學習html網頁制作模板代碼怎麼寫

HTML網頁制作模板代碼是用來定義網頁結構、內容和樣式的基礎代碼。以下是一個簡單的HTML網頁制作模板代碼的示例。通過這個模板代碼,你可以定義一個基本的網頁結構,以及樣式和導航等元素,讓你的網頁更加美觀和易於導航。通過這個適應式的模板代碼,你的網頁能夠在不同設備的屏幕上具有更好的用戶體驗,適應不同的屏幕大小。例如,在手機上,網頁會自動縮小並調整布局,使得網頁內容能夠適應較小的屏幕。當然,你需要自己編寫相應的css和js代碼,以實現適應式布局。…

html5的doctype,通過DOCTYPE聲明

html5的doctype,通過DOCTYPE聲明

HTML5中的DOCTYPE聲明為 `<!DOCTYPE html>`,格式簡單清晰。相較於之前的文檔類型聲明格式,它更加簡單,也更具可讀性。同時,在HTML5中取消了文檔類型規範中過時的部分,這使得DOCTYPE的作用也更加直接和明確。通過DOCTYPE聲明,瀏覽器、解釋器才能正確地解析HTML文檔,它是HTML文檔的必要組成部分。當聲明HTML5時,需要在HTML頁面的頂部開始HTML標記之前,添加 `<!DOCTYPE html>`。這樣瀏覽器就能識別頁面是由HTML5來定義的了。…