當前位置:首頁 » 文件傳輸 » 訪問java類私有變數時出錯嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

訪問java類私有變數時出錯嗎

發布時間: 2022-08-15 13:57:08

Ⅰ java 對象能訪問私有變數

private:
訪問許可權僅限於類的內部,是一種封裝的體現,例如,大多數成員變數都是修飾符為private的,它們不希望被其他任何外部的類訪問。
也就是說,private的私有隻針對其他類,在同一類中並無關系,可以調用

Ⅱ JAVA中某一類的成員變數設為私有時,測試類還能訪問它嗎

私有變數在外部是不能被訪問的,一般會給私有變數提供一個公有的方法,比如:
private String datatype ;
public String getDatatype() {
return datatype;
}
public void setDatatype(String datatype) {
this.datatype = datatype;
}

Ⅲ 關於java類中私用成員變數的問題

java是面向對象編程的,你p2.age是p2這個對象在調用他自己的屬性,跟p1沒有一點關系,你可以在任何類裡面new一個p2出來,然後訪問p2自己的屬性。其次age不是public修飾的,不能直接用「.」運算符!你代碼System.out.println(p.age);這邊肯定會報錯,應該是p.getAge();age用private修飾,想要訪問,就必須對外界提供getter/setter方法

Ⅳ java中如何調用私有變數或方法

private關鍵字
(1)私有的意義,可以修飾成員變數和成員方法
(2)特點:
被private修飾的後的成員只能在本類中被訪問
(3)private的應用:
以後再寫一個類的時候:
把所有的成員變數給private了
提供對應的getXxx()/setXxx()方法
/*
封裝和private的應用:
A:把成員變數用private修飾
B:提高對應的getXxx()和setXxx()方法
*/
//定義學生類
classStudent{
//姓名
privateStringname;
//年齡
privateintage;

//姓名獲取值
publicStringgetName(){
returnname;
}

//姓名設置值
publicvoidsetName(Stringn){
name=n;
}

//年齡獲取值
publicintgetAge(){
returnage;
}

//年齡賦值
publicvoidsetAge(inta){
age=a;
}
}

//測試類
classStudentTest{
publicstaticvoidmain(String[]args){
//創建學生對象
Students=newStudent();

//使用成員變數
//錯誤:被私有修飾了,外界不能直接訪問了
//System.out.println(s.name+"---"+s.age);
System.out.println(s.getName()+"---"+s.getAge());

//給成員變數賦值
//s.name="林青霞";
//s.age=27;
//通過方法給賦值
s.setName("林青霞");
s.setAge(27);
System.out.println(s.getName()+"---"+s.getAge());
}
}

Ⅳ java中類的私有變數是不可訪問的

如果單純說不可以直接訪問,是正確的,但是是可以通過set和get方式進行私有變數的賦值和讀取的。

可以創建 一個這個類的對象,然後通過對象.私有變數來調用。
比如 public A{
private String x;
public String getx(){
this.x= x;
};
}
之後就可以在B對象中通過get方法來獲取A對象的私有變數的值了
public B{
A a = new A();
a.setx("zhangsan");
String result = a.getx();
}

Ⅵ 在Java中怎麼訪問類中用Private修飾的私有變數

外提供訪問方式,就因為可以在訪問方式中加入邏輯判斷等語句。
對訪問的數據進行操作。提高代碼健壯性。

*/
//年齡定義是私有的,我們現在想要去訪問,首先用邏輯判斷語句輸出(setAge)合法的年齡值,然後定義為a,然後得到(getAge)
//合法的年齡值,然後自定義一個speak方法把得到的合法年齡值列印出來。之所以在邏輯判斷語句中調用speak方法,是因為這個
//類是私有的,所以只能在自己本類中調用。最後在主函數中創建這個對象,然後通過傳參訪問到自己想要的年齡值。
class Persion1
{

Ⅶ java編譯錯誤:可以在類中訪問private

你所說的其實是JAVA中的子類能否訪問父類的私有成員(方法或屬性),在Java中,子類不繼承父類的私有成員變數,super常用於訪問父類中被子類覆蓋的那些方法或屬性。private修飾符作用范圍,只在本類可見,即使子類也不可訪問。Java是面向對象的,具有封裝性,一個聲明為private的變數後不可以被外界訪問。

Ⅷ JAVA中,訪問類中變數的疑惑

我記得java中變數如果沒有聲明為public,在java里默認為private私有變數,所以在其他類中不能隨意調用、修改

Ⅸ java 如何訪問類中的私有變數

不能,私有就是只能本類對象及方法訪問。
當然,父類裡面定義了set
get方法,子類必須通過這些方法可以間接訪問到它們。