導航:首頁 > 編程語言 > 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成員變數賦值相關的資料

熱點內容
iosAndroidjava 瀏覽:400
外賣員轉型做程序員 瀏覽:925
看房用什麼app准 瀏覽:157
雞蛋解壓玩具測評 瀏覽:705
阿里雲發布arm伺服器晶元 瀏覽:754
對加密貨幣平台的態度 瀏覽:373
刺客信條pdf 瀏覽:453
湛江頭條程序員 瀏覽:162
裝上加密狗就死機 瀏覽:925
windows程序員轉linux 瀏覽:568
androidusb驅動xp 瀏覽:947
單片機的數字電壓表設計 瀏覽:792
成功連接伺服器是什麼意思 瀏覽:892
如何審定伺服器訪問許可權 瀏覽:687
姜梓童陳一鳴程序員 瀏覽:921
青島程序員駐場開發哪家好 瀏覽:474
stc89c52單片機介紹 瀏覽:21
linux編譯路徑比 瀏覽:970
程序員上班自己帶電腦 瀏覽:495
如何在伺服器上搭建svn伺服器 瀏覽:108