自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java教程 Java語言的訪問權(quán)限修飾符

開發(fā) 后端
一個(gè)Java應(yīng)用有很多類,但是有些類,并不希望被其他類使用。每個(gè)類中都有數(shù)據(jù)成員和方法成員,但是并不是每個(gè)數(shù)據(jù)和方法,都允許在其他類中調(diào)用。如何能做到訪問控制呢?就需要使用訪問權(quán)限修飾符。本文講述了Java語言的訪問權(quán)限修飾符。

本文是Java教程之Java語言的訪問權(quán)限修飾符部分。
上篇文章中,提到了Java類需要打包,打包后可以進(jìn)行訪問權(quán)限控制。本文中,將對(duì)Java語言中的訪問權(quán)限修飾符,進(jìn)行簡單介紹。

一個(gè)Java應(yīng)用有很多類,但是有些類,并不希望被其他類使用。每個(gè)類中都有數(shù)據(jù)成員和方法成員,但是并不是每個(gè)數(shù)據(jù)和方法,都允許在其他類中調(diào)用。如何能做到訪問控制呢?就需要使用訪問權(quán)限修飾符。

Java語言中的訪問權(quán)限修飾符有4種,但是僅有3個(gè)關(guān)鍵字,因?yàn)椴粚懺L問權(quán)限,在Java中被稱為默認(rèn)權(quán)限,或同包權(quán)限,本文中以(default)代替。下面按照權(quán)限從小到大的順序?qū)?中訪問權(quán)限分別介紹。

1.私有權(quán)限(private)

private可以修飾數(shù)據(jù)成員,構(gòu)造方法,方法成員,不能修飾類(此處指外部類,不考慮內(nèi)部類)。被private修飾的成員,只能在定義它們的類中使用,在其他類中不能調(diào)用。

2.默認(rèn)權(quán)限(default)

類,數(shù)據(jù)成員,構(gòu)造方法,方法成員,都能夠使用默認(rèn)權(quán)限,即不寫任何關(guān)鍵字。默認(rèn)權(quán)限即同包權(quán)限,同包權(quán)限的元素只能在定義它們的類中,以及同包的類中被調(diào)用。

3.受保護(hù)權(quán)限(protected)

protected可以修飾數(shù)據(jù)成員,構(gòu)造方法,方法成員,不能修飾類(此處指外部類,不考慮內(nèi)部類)。被protected修飾的成員,能在定義它們的類中,同包的類中被調(diào)用。如果有不同包的類想調(diào)用它們,那么這個(gè)類必須是定義它們的類的子類。

4.公共權(quán)限(public)

public可以修飾類,數(shù)據(jù)成員,構(gòu)造方法,方法成員。被public修飾的成員,可以在任何一個(gè)類中被調(diào)用,不管同包或不同包,是權(quán)限***的一個(gè)修飾符。

      

有關(guān)Java語言的修飾符,需要注意的問題有如下幾個(gè):

1.并不是每個(gè)修飾符都可以修飾類(指外部類),只有public和default可以。

2.所有修飾符都可以修飾數(shù)據(jù)成員,方法成員,構(gòu)造方法。

3.為了代碼安全起見,修飾符不要盡量使用權(quán)限大的,而是適用即可。比如,數(shù)據(jù)成員,如果沒有特殊需要,盡可能用private。

4.修飾符修飾的是“被訪問”的權(quán)限。

 

【編輯推薦】

  1. Java語言入門教程之Java類中的包
  2. Java語言入門教程之Java類的組成
  3. Java語言入門教程之Java類中的各種數(shù)據(jù)
  4. 2009年十大Java技術(shù)解決方案
  5. 2008最值得學(xué)習(xí)的五種JAVA技術(shù)
責(zé)任編輯:仲衡 來源: taomoon719的專欄
相關(guān)推薦

2009-06-12 14:46:05

static修飾符Java教程

2009-06-19 10:51:39

Scalapackage訪問修飾符

2009-08-24 16:49:39

C#修飾符

2009-09-04 11:06:40

C#訪問修飾符

2015-08-18 09:25:11

Java修飾符關(guān)鍵詞

2020-09-02 07:03:04

虛擬機(jī)HotSpotJava

2011-06-02 14:51:07

JAVA修飾符

2021-11-21 22:36:18

Java修飾符開發(fā)

2011-06-28 09:29:11

C#修飾符

2015-01-06 09:47:55

Java

2009-08-27 13:06:13

C# new修飾符

2009-09-02 17:14:28

C#修飾符

2023-12-29 09:01:27

SwiftUI視圖修飾符

2009-08-27 11:04:08

C# extern修飾

2009-08-21 13:58:06

C# virtual修

2009-08-27 11:12:03

C# abstract

2009-09-02 17:04:35

C# Extern修飾

2024-11-29 08:11:27

2009-08-27 11:16:40

C# sealed修飾

2021-08-02 12:33:26

Swift修飾符視圖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)