java訪問許可權,java訪問許可權有幾種

本文目錄一覽:

Java的訪問控制許可權有哪幾種?試以類格式形式列出Java的訪問控制。

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

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

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

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

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

類的訪問許可權類的訪問

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

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

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

1任何類都可以訪問

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

3同一個包中的所有類

4隻能在本類中訪問

Java訪問控制許可權有哪些

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

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

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

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

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

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

什麼是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類是可見的。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 03:01
下一篇 2024-12-24 03:01

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論