❶ private修飾的變數,類生成的對象能否訪問
那就要看那個對象,是不是在同一個類中了,同一個類中,則可;否則,不可。
❷ 「同一個類的不同對象可以訪問對方的private成員變數或調用對方的private成員方法」這句話怎麼理解
類或者對象成員可以通過訪問說明符設定安全機制,其中成員包括成員變數或成員方法。
其中java支持的四種訪問限制:
public——所有類都可以訪問
private——只有本類可以訪問
protected——子類或者同一包的類可以訪問
<省略>——只允許同一包的類可以以訪問
下圖是訪問級別表
所以,同類的兩個不同的private成員變數可以進行互訪。
❸ 如果想要訪問父類中的一個private成員變數有什麼方法
類的封裝性,一般在定義成員變數的時候定義為private,同時還會定義幾個公有的方法實現對該私有成員變數進行操作的函數,這樣在類就可以通過 對象名.公有方法 的方式對私有成員進行訪問
❹ 讀取private成員變數
1、在類中聲明private的變數
2、給出get,set方法
3、在其他類中實例化1中的類,然後通過類的對象來點出成員變數,例如:
publicclassUser{
privateStringname;
publicvoidsetName(Stringname)
{
this.name=name;
}
publicStringgetName()
{
returnname;
}
}
publicclassTest{
publicstaticvoidmain(String[]args)
{
Useruser=newUser();
user.setName("張三");
System.out.println(user.getName());
}
}
❺ java 對象能訪問私有變數
private:
訪問許可權僅限於類的內部,是一種封裝的體現,例如,大多數成員變數都是修飾符為private的,它們不希望被其他任何外部的類訪問。
也就是說,private的私有隻針對其他類,在同一類中並無關系,可以調用
❻ C#中,想讀取一個private對象中的private變數該怎麼弄
提示的錯誤不是你說的private的問題,
而是 LR.User 未實例化.
主要還是因為你的類loginResult在new的時候並沒有實例化類型為UserDTO的屬性User的緣故.
若需要得到正確的結果,如下修改:
把
private UserDTO user;
修改成
private UserDTO user = new UserDTO();
❼ 如何訪問類中的private成員變數
總所周知,類中的private屬性的成員變數在類外是無法訪問的,今天我們探討的就是如何在類外訪問private屬性的成員變數。
我們先來看一個簡單的例子:
class STU
{
public:
STU()
{
x = 5;
y = 10;
}
private:
int x;
int y;
};
int main()
{
STU t;
int*p = (int*)&t + 1;
return 0;
}
通過上面的代碼我們可以知道,方法是把類對象的地址強制轉化為int*類型,因為類對象里存儲的只是成員變數,所以通過對指針的操作可以訪問到private類型的成員變數。
接下來還有一個例子:
class STU
{
public:
STU()
{
c = 'f';
y = 10;
}
private:
char c;
int y;
};
int main()
{
STU t;
int*p = (int*)((char*)&t + 4);
cout << *p << endl;
return 0;
}
這段代碼中最重要的就是int*p = (int*)((char*)&t + 4);
因為第一個數據是char類型的,所以要把對象的地址轉化為char*型,對象中存在兩種類型的數據,需要考慮內存對齊,所以當要訪問下一個int型變數的時候,指針需要加4,而不是加1。最後要取到int型的變數,還是要把地址強轉為int *。
❽ 類對象可以訪問自己的私有成員
在類自己的成員函數及類的友元類和類的友元函數里是允許訪問私有成員的,如果是在非類的成員函數或友元類或友元函數中是不可能的,你可以試試
❾ C++的對象做為參數時,可以訪問private變數
P是Person的一個實例,age是私有數據成員,根據類的訪問控制規則,在類的外部,只能方位類的共有函數或樹形,在這個程序中,cout
<<
p.age
<<
endl;是在類的外部,是不能直接訪問私有數據的。
void
Person
::
show(Person
p)
{
//怎麼可以輸出呢??
age,與sex不是private的嗎?
cout
<<
p.age
<<
p.sex
<<
endl;
}
這一段是類的函數實現,屬於類的內部,可以訪問私有數據成員。