導航:首頁 > 編程語言 > java成員變數賦值

java成員變數賦值

發布時間:2023-08-06 19:36:09

A. java給對象的成員變數的賦值方法

java類的成員變數可以直接賦值,即賦初始值;
java類的成員變數也可以不賦值,系統會根據變數類型賦系統默認值;
java類的成員變數可以在以如下賦值:
聲明時(int i=10;)
構造方法里(this.變數名=? 方式)
類聲明時不賦值,用 對象實例名.setXXX(xxx); 即set方法

Java類的局部變數必須在聲明時賦值,否則報錯....就是那種定義在方法里的變數...

B. java里調用其他文件夾下的類,出現成員變數不能賦值的問題

Study類的name和age兩個屬性沒有明文指定訪問修飾符,那麼默認的訪問修飾符是default
default 修飾的屬性只允許本類內部和同包名下的類直接訪問
你的Study類在ja1.stu;包名下, 但是 main 方法所在的Index類不在這個包名下, 所以在 Index 類中是不允許直接訪問name 和 age 這2個屬性的, 所以直接賦值會報編譯錯誤
你可以明文指定這2個屬性為 public 的或者在 Study 類中為這2個屬性添加 public 的 getter 和 setter 方法,用於在 Index 類中更新和獲取這2個屬性的值

C. 在java中 變數之間是如何賦值的

一、基本類型數據賦值
實驗1 :定義一個int 類型變數a = 3,並將a 賦值給int b,然後將a ,賦值為5,那麼b 的值是3 還是5 呢?

int a = 3;
int b = a ;
a = 5 ;
System.out.println(" a = " + a+" b = "+b );

運行程序 ,列印結果為 :
a = 5 b =3

我們看到,b並沒有隨a的改變而改變。基本數據類型是值賦值。
二、String類型數據賦值
實驗2:定義一個String類型變數s1 賦值為「a」,並將s1賦值給String s2 ;然後將s1賦值為「b」,那麼s2的值是 「a」還是 「b」?

String s1 = "a" ;
String s2 = s1;
s1 = "b" ;
System.out.println("s1 = "+s1+" s2 = "+ s2);

運行程序 ,列印結果為 :

s1 = b s2 =a

我們看到,s2並沒有隨s1的改變而改變。

三、自定義數據類型賦值
實驗3: 創建一個TUser u1 ,並將u1賦值給TUser u2 ,將 u1重新賦值 ,u2會隨著u1改變而改變嗎 ?

TUser u1 = new TUser();
u1.setId(1);
TUser u2 = u1 ;
u1 = new TUser();
u1.setId(2);
System.out.println("ui :"+u1 + "\t\n" +"u2 : "+ u2);

運行程序,列印結果為:
u1 :TUser(id=2)
u2 : TUser(id=1)

我們看到u2並沒有隨著u1的改變而改變。
如果我們不改變u1指向的地址,而是改變u1指向地址所對應的數據(即將 u1 = new TUser(); 注釋掉)。那麼u1,u2 列印的記過將都會是 TUser(id=2)

通過以上三個實驗我們發現:
變數之間的賦值,可以說沒有所謂的值賦值和地址賦值。
簡而言之,將一個變數a賦值給另一個變數b,是將這個變數a的值,拷貝一份給變數b(如果a是引用類型,就拷貝引用,如果是基本類型,就拷貝原始值)

閱讀全文

與java成員變數賦值相關的資料

熱點內容
安卓微信如何更換鈴聲 瀏覽:599
程序員談判場在哪裡 瀏覽:413
山東有線伺服器中斷雲主機 瀏覽:472
java截取文件名 瀏覽:463
jquery教程pdf 瀏覽:164
三略pdf 瀏覽:584
spiflash單片機 瀏覽:11
阿里雲的域名怎麼解析到國外伺服器 瀏覽:299
app客戶端開發用什麼伺服器 瀏覽:293
台灣人能備案雲伺服器嗎雲空間 瀏覽:468
程序員小哥哥都喜歡動漫 瀏覽:374
如何用免費亞馬遜雲搭建伺服器 瀏覽:665
php評論功能實現代碼 瀏覽:526
犀牛中移動物件命令 瀏覽:788
程序員上班期間可以戴耳機嗎 瀏覽:257
伺服器啟動卡怎麼使用 瀏覽:796
逛了一天累趴了來一歌解壓句子 瀏覽:347
谷歌app在哪裡掃碼 瀏覽:991
華為手環加密門禁卡怎麼設置 瀏覽:734
pdf轉xlsx 瀏覽:96