Java 中賦值類時候修改後原類中的值改變
今天一個很傻的問題看了半天,結果測試一下,原來Java基礎學的不是很好。把例子帖出來,已被後看
我們在建立 Person類 Person p =new Person();
Person p1=p;
在修改P1後,p的值也隨之改變。原因是p1指向p的建立的類儲存空間。我們修改p1,即是修改p建立類儲存空間的值,也是說值被改變。
下面是我寫的一個測試例子: StrTest.java
public class StrTest{
public static void main(String [] args){
Person p=new Person();
p.a=2;
System.out.println(p.a);
Person p1=p;
p1.a=3;
System.out.println("p1:"+p1.a);
System.out.println("p:"+p.a);
}
}
class Person{
public int a=1;
}
執行結果:
2
p1:3
p:3
Press any key to continue...
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8046846/viewspace-916733/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java 反射修改類的常量值、靜態變數值、屬性值Java反射變數
- 自己對Java中if變數賦值的理解Java變數賦值
- vue 變數賦值同時改變的問題Vue變數賦值
- shell中變數的取值與賦值變數賦值
- 再說mysql中的變數賦值MySql變數賦值
- domino 發郵件時,透過修改 Principal 中的值改變發件人地址
- JS中的變數賦值深入理解JS變數賦值
- SDUST OJ 時間類的加、減法賦值運算賦值
- [python]為什麼父類的值沒有改變Python
- C# 類相同屬性賦值C#賦值
- Javascript 解構賦值,將屬性/值從物件/陣列中取出,賦值給其他變數JavaScript賦值物件陣列變數
- php之普通變數賦值、物件賦值、引用賦值的區別PHP變數賦值物件
- 變數的賦值 指標間接賦值變數賦值指標
- Java中建立不可變的類Java
- MySQL中變數的定義和變數的賦值使用MySql變數賦值
- Swift4.0 KVC 字典賦值模型改變Swift賦值模型
- 動態修改 NodeJS 程式中的變數值NodeJS變數
- Makefile中幾種賦值(= := ?= +=)賦值
- 修改Ehcache快取中取到的值,快取中的值也被修改了快取
- java學習值Character類Java
- Python 中變數賦值傳遞時的引用和複製介紹Python變數賦值
- 簡單介紹Lua中的變數與賦值方法變數賦值
- Bash 中為 _ 變數賦空值的三個場景變數
- Junit4與harmcrest中核心類的改變REST
- java中a=a++值為什麼沒有改變?棧運算解析Java
- tkinter中scale拖拉改變值控制元件(十一)控制元件
- matlab中怎麼給符號變數賦值Matlab符號變數賦值
- Java 中JDK7時間類與JDK8中的時間類JavaJDK
- javascript變數賦值或者重新賦值注意事項JavaScript變數賦值
- iview Table元件 選中某條資料後再編輯,選中的值不會改變View元件
- 變數的解構賦值變數賦值
- JS 中賦值語句的祕密JS賦值
- ES6中的解構賦值賦值
- python中什麼時候使用自定義類Python
- Java中讀取配置檔案中的內容,並將其賦值給靜態變數的方法Java賦值變數
- web中,利用反射給物件賦值Web反射物件賦值
- webapp 中為span元素賦值WebAPP賦值
- 類似DDD的值物件的Java中新的值型別ValueType -jaxenter物件Java型別