當前位置:首頁 » 文件傳輸 » private只能被當前類訪問
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

private只能被當前類訪問

發布時間: 2022-05-19 17:40:07

A. Java中private不是只有本類才可以訪問嗎為什麼匿名類可以通過類名.this.變數來訪問呢

java程序中只有變數用private定義的,此變數就只能在當前的類中使用。
java程序中只有變數用static定義的,此變數就能直接被虛擬機識別,可直接在main函數中調用。

B. java中private聲明的類的作用范圍

java中private聲明的類的作用范圍:
private 私有的;因此只能在當前類下使用

類修飾符 :public、default、abstract、final、strictfp
介面修飾符 :public、default、abstract、strictfp
構造器修飾符 :public、protected、default、private
全局變數修飾符:public、protected、default、private、static、transient、volatile、final
方法修飾符 : public、protected、default、private、abstract、static、final、native、synchronized、strictfp
內部類 :public、protected、default、private、static、abstract、final
局部變數修飾符:final

private 和 public沒有對應關系
private可以修飾變數、構造器,方法、內部類;在變數前面加private 表示類的私有屬性,只可以在類內部訪問使用;

C. C#中類的私有變數能被繼承嗎若能被繼承,那麼private修飾的變數只能在它所屬的類中被訪問時怎麼回事

一個類中的私有(private)變數是不能被繼承的,不能被其他的類調用。
之所以不能被繼承和不能被其它類調用是為了不讓用戶直接去操作這個對象,也就是說為了數據安全性。
例如:電冰箱上面調溫度的按鈕,如果給用戶直接操作,那溫度顯示可以是任何數字(但是沒那個溫度)
所以出現了封裝(隱藏內部的實現,提供外部介面),
代碼:
private
int
number;
public
int
Number
{
get{return
number;}
set{this.number=value;}
}
在另一個類里要調用number(實際上的調用不到的),調用Number就可以了,同樣賦值給Number就是賦值給number,同樣可以設置你能調用和賦值的范圍。這樣用戶就不能把空調溫度調到-100。
也許你會有這樣的想法,直接寫一個公共(public)的,然後設置它的取值賦值的范圍還不是一樣。肯定的回答:不一樣。如果一個大型的程序的一千個類都要用到number你是不是要重復寫一千個number,那樣在棧中開辟的空間太多,太浪費內存。而且大部分類所賦的值和去的值都不能,那你寫了一個固定的值有什麼用。

D. 簡述 private、 protected、 public、 internal 修飾符的訪問許可權。

public:類或成員可以由同一程序集中的任何其他代碼或引用它的另一個程序集訪問。

private:只能通過同一個類或結構中的代碼訪問類型或成員。

protected:類或成員只能由同一個類中的代碼訪問,或者在從該類派生的類中訪問。

internal:類或成員可以由同一程序集中的任何代碼訪問,但不能從另一個程序集訪問。

(4)private只能被當前類訪問擴展閱讀:

private、 protected、 public、 internal 修飾符除了可以單獨使用,還可以組合使用。

protected internal:訪問僅限於從包含類派生的當前程序集或類型。

private protected: 訪問僅限於從當前程序集中的包含類派生的包含類或類型。

除了使用protected internal或private protected組合時,成員或類只允許使用一個訪問修

飾符。名稱空間上不允許訪問修飾符。命名空間沒有訪問限制。

根據成員聲明發生的上下文,僅允許某些聲明的可訪問性。如果在成員聲明中未指定訪問修飾

符,則使用默認輔助功能。

頂級類型(不嵌套在其他類型中)只能具有internal或public可訪問性。這些類型的默認可訪

問性是internal。

E. java中為什麼private和static同時使用private表明只能在當前類中使用,static是靜態的,只需要使用類名

private是表明只能在當前類中使用
static表示不需要實例化就能用,是兩回事
類中 private :類中實例化再用

類中 private static:類中直接用
類外 private :獲取實例後,不讓用方法

類外 private static:不讓用

F. VC++中的public,private,protected的區別,說得通俗點

public:聲明方法和屬性可以被隨意訪問。
Protected:聲明的方法和屬性只能被類本身和其繼承子類訪問。
private:只能被定義屬性和方法的類訪問。

private 是完全私有的,只有當前類中的成員能訪問到.
protected 是受保護的,只有當前類的成員與繼承該類的類才能訪問.

protected的訪問權介於public和private之間,實際上三者的區別就是許可權問題,private和protected區別主要體現在其繼承類的訪問許可權上,這些你可以自己編寫一個程序,寫個類,編譯一下你就很清楚他們許可權的區別了。

私有成員private member
只能被成員函數和類的友元訪問
實行信息隱藏的類把其數據成員聲明為private

被保護成員protected member
對派生類derived class 就像public 成員一樣
對其他程序則表現得像private

G. 如何區別C# private和protected

一、通過使用來區分

1、private:編程語句在模塊級別中使用,用於聲明私有變數及分配存儲空間。

2、protected:編程語句在模塊級別中使用,用於聲明受保護的變數及分配存儲空間。

二、通過作用來區分

1、private:只能在包含其聲明的模塊中使用。可以使用 Private 語句聲明變數的數據類型。也可以使用 Private 語句來聲明變數的對象類型。

2、protected:具有protected訪問控制級別的成員是半公開的,外界無法直接訪問這個控制級別的成員,但是派生類的base指針(在c++中也可用引用訪問)可以獲得訪問能力。


三、通過規則來區分

1、private:在賦值之前,所聲明的這個對象變數有一個特定值 Nothing,這個值表示該變數沒有指向任何對象的實例。如果不指定數據類型或對象類型,且在模塊中沒有使用 Deftype 語句,則按預設情況該變數為 Variant 類型。

2、protected:繼承的類可以訪問protected成員,但是不能訪問private成員。


H. C# private和protected區別

private
是完全私有的,只有當前類中的成員能訪問到.
protected
是受保護的,只有當前類的成員與繼承該類的類才能訪問.

I. Private 的訪問限制

第一:private, public, protected 訪問標號的訪問范圍。

private :只能由1.該類中的函數、2.其友元函數訪問。
不能被任何其他訪問,該類的對象也不能訪問。

protected :可以被1.該類中的函數、2.子類的函數、以及3.其友元函數訪問。
但不能被該類的對象訪問。

public :可以被1.該類中的函數、2.子類的函數、3.其友元函數訪問,也可以由4.該類的對象訪問。

註:友元函數包括3種:設為友元的普通的非成員函數;設為友元的其他類的成員函數;設為友元類中的所有成員函數。

第二:類的繼承後方法屬性變化。
private 屬性不能夠被繼承。
使用private繼承,父類的protected和public屬性在子類中變為private;
使用protected繼承,父類的protected和public屬性在子類中變為protected;
使用public繼承,父類中的protected和public屬性不發生改變;

J. VB中的private

private是私有的意思,表示變數或者方法只能在當前窗體或者當前模塊或者當前類內使用,不能被外部使用。
比如模塊中
private sub func(byval k as Integer)
end sub
表示func只能在模塊中使用,不能被窗體等使用
Private 表示定義的類型為一個私有型局部變數,Public 為全局變數

private 私有成員,只能在對象內部訪問。
public 公有成員,可以被本對象外其它對象訪問