java中的四種訪問控制權限,java中訪問控制權限有哪些

本文目錄一覽:

Java訪問控制權限有哪些

java中成員的訪問權限共有四種,其中三種有訪問權限修飾詞:public,protected,private。

Public:權限最大,允許所有類訪問,但其他包下的類想要訪問需使用import關鍵字將這些public類導入包中才可使用,換句話說,import將不同包的類導入到一個包下,從而轉化為包訪問權限下的情況。

Protected:除了提供包訪問權限以外,還對繼承該類的所有派生類賦予訪問權限。

Private:權限最小,只能由包含該成員(域和方法)的類本身訪問,其他任何類都無法訪問。

不使用這三個關鍵詞時,則提供默認包訪問權限,該權限只允許同一個包下(即同一個目錄下的Java文件)的類訪問該類。

注意:private和protected只能修飾成員,無法修飾類。類要麼是public的,要麼是包訪問權限。

Java中的四種訪問控制域是什麼?

所謂訪問控制域其實就是訪問權限.

訪問權限的等級最大到最小依次是:public,protected,包訪問權限(無關鍵字)和private。

成員的訪問權限取得對某成員(屬性和方法)的實現方法有下面四種情況

1, 權限設置為public; 2, 默認包訪問權限,在同一包中的其他類,可以訪問; 3, 權限設置為public或者protected,通過繼承的子類可以訪問; 4, 設置為private,提供訪問器和變異器方法(get/set);

下面介紹這四種權限(相對成員而言)

1, 包訪問權限,在同一包中的類可以訪問; 2, Public:接口訪問權限,任何類都可以訪問; 3, Private:你無法訪問,除了包含該成員的類,其他類都可以訪問。 4, Protected:繼承訪問權限,包括包訪問權限。在同一包中,還有就是子類可以訪問。

類的訪問權限類的訪問

只有兩種:包訪問權限或public(用法同上) 如果不希望其他類擁有該類的訪問權限,可以把這個來說有的構造器制定為private(比如單列模式)。

什麼是Java類的訪問權限?

在解釋訪問權限控制之前,先看一個場景。

在學生信息管理系統中,有兩個類,分別是學生類和課程類,課程類提供了課程表和課程安排兩個方法,學生類可以調用課程類提供的課程表查看課程安排,但不能調用課程安排方法,該如何處理,此時就可以利用訪問權限來進行控制。

在Java中,提供了四種訪問權限控制:默認訪問權限(包訪問權限),public,private以及protected。

默認訪問權限(default):即不加任何訪問修飾符,通常稱為“默認訪問模式“。該模式下,只允許在同一個包中進行訪問。

private: 對訪問權限限制的最窄的修飾符,一般稱之為“私有的”。被其修飾的類、屬性以及方法只能被該類的對象訪問,其子類不能訪問,更不能允許跨包訪問。

protect: 介於public 和 private 之間的一種訪問修飾符,一般稱之為“保護的”。被其修飾的類、屬性以及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。

public: Java語言中訪問限制最寬的修飾符,一般稱之為“公共的”。被其修飾的類、屬性以及方法不僅可以跨類訪問,而且允許跨包(package)訪問。下表列出了四種訪問權限的控制粒度:

例1:

Main.java:

package com.cxh.test1; 

public class Main { 

    /**     

    * @param args     */ 

   public static void main(String[]  args) 

   {   

       // TODO Auto-generated method stub

       People     people = new People(“Tom”);     

       System.out.println(people.getName());    

    }

}

People.java

package com.cxh.test1;

class People {   //默認訪問權限(包訪問權限) 

    private String name =  null;

    public People(String name)

    { 

       this.name     = name;   

     }

     public String getName() { 

       return     name; 

     } 

    public void setName(String  name) 

    {        

        this.name     = name;

    }

}

從代碼可以看出,修飾People類採用的是默認訪問權限,而由於People類和Main類在同一個包中,因此People類對於Main類是可見的。

北大青鳥java培訓:java封裝的訪問控制級別?

java培訓過程中,我們常接觸到的一個知識點是關於java的封裝,封裝提供了4中訪問控制級別。

1、public公用的,最高的訪問級別,類的public成員所以類的成員都可以訪問。

2、protected受保護的,類的protected成員只能被該類的成員及其子類成員訪問,還可以被同一個包中其他類的成員訪問。

3、private私有的,不對外公開,類的private成員只能被該類的成員訪問,訪問級別最低。

4、默認,類的成員什麼修飾符都沒有,又叫包修飾符,只有類本身成員和當前包下類的成員可以訪問。

那麼封裝是如何實現的呢?其實可以通過以下方法來實現哦。

1、修改屬性的可見性來限制對屬性的訪問。

2、為每個屬性創建一對賦值方法和取值方法,用於對這些屬性的訪問。

3、在賦值和取值方法中,加入對屬性的存取權限。

在學習java的過程中,我們要多看多寫,福建電腦培訓認為只有在不斷的編寫程序中,我們才能學習到更多java方面的知識。

java四個訪問權限和範圍是什麼啊?

1,public 2,protected 3,(default) 4,private

1任何類都可以訪問

2在同一個包中的所有類可以訪問,以及該類的子類

3同一個包中的所有類

4隻能在本類中訪問

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/199236.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 19:14
下一篇 2024-12-04 19:15

相關推薦

  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python通配符有哪些

    Python通配符是一種表示字符串中模糊匹配的有效工具,用於匹配與具有特定模式匹配的字符串。Python中主要的通配符有:*,?,[]和{}。 一、星號通配符 * 在Python中…

    編程 2025-04-29
  • 註冊表取證工具有哪些

    註冊表取證是數字取證的重要分支,主要是獲取計算機系統中的註冊表信息,進而分析痕迹,獲取重要證據。本文將以註冊表取證工具為中心,從多個方面進行詳細闡述。 一、註冊表取證工具概述 註冊…

    編程 2025-04-29
  • Python函數類型有哪些

    本文將從以下幾個方面詳細闡述Python函數類型。 一、內置函數 Python的內置函數是指在Python編程語言中提供的可以直接使用的函數,不需要通過導入模塊等方式引入。 部分常…

    編程 2025-04-29
  • Python程序變量名有哪些

    Python是一種高級、面向對象、解釋型編程語言,它因為其簡潔明了的語法和廣泛的應用領域而被廣泛使用。在Python中,變量名是關鍵的標識符,它們用於訪問存儲在內存中的值。本文將介…

    編程 2025-04-28
  • 北京有哪些好的Python培訓機構

    想要成為一名全能開發工程師,Python是必不可少的編程語言之一。在北京,Python培訓機構也是各式各樣。下面就從教學質量、師資力量、教學內容、服務質量等多個方面,為大家推薦幾個…

    編程 2025-04-28
  • 如何選擇MySQL服務器文件權限

    MySQL是一種流行的關係型數據庫管理系統。在安裝MySQL時,選擇正確的文件權限是保證安全和性能的重要步驟。以下是一些指導您選擇正確權限的建議。 一、權限選擇 MySQL服務器需…

    編程 2025-04-27
  • Python文本處理第三方庫有哪些

    Python是一種高級語言,它的功能非常強大和全面,其中最重要之一就是它的文本處理能力。文本處理對於自然語言處理以及大數據分析都有着非常重要的作用。Python的標準庫提供了字符串…

    編程 2025-04-27
  • 有哪些Python軟件可以用來構建Web應用

    Python語言是一種膠水語言,可以和多種語言以及系統進行交互,廣泛應用於多個領域。在Web應用開發領域,Python是一個功能強大的語言,在Python社區中有許多優秀的Web應…

    編程 2025-04-27
  • iOS開發如何添加權限

    在iOS開發中,為了保護用戶的隱私和安全,應用程序可能需要請求一些權限。 一、請求應用程序權限 應用程序不得在用戶未給予許可的情況下獲取用戶數據。許多iOS系統功能都需要獲得用戶的…

    編程 2025-04-27

發表回復

登錄後才能評論