java賦值對象
❶ java給對象的成員變數的賦值方法
java類的成員變數可以直接賦值,即賦初始值;
java類的成員變數也可以不賦值,系統會根據變數類型賦系統默認值;
java類的成員變數可以在以如下賦值:
聲明時(int i=10;)
構造方法里(this.變數名=? 方式)
類聲明時不賦值,用 對象實例名.setXXX(xxx); 即set方法
Java類的局部變數必須在聲明時賦值,否則報錯....就是那種定義在方法里的變數...
❷ java對象賦值
java中對象使用等號賦值其實還是同一個對象,當你使用new後才會生成一個新對象。
如過對象已經存在內存中,那麼使用等號賦值,也只是使指針指向存在的對象的地址值。
❸ JAVA NEW一個對象賦值。。
x.array[0]中的array是x的屬性的,但是類b中只是繼承了array這個屬性,但是卻沒有賦值,你肯定會說你在b的構造方法中賦值了,錯就
是在這里了,你在構造方法中array是你申明的局部變數,並沒有能夠給array賦值,所以你的x.array[0]肯定會出空指針。要想正確的話,把double[]
array=new
double[2]
改成array=new
double[2]
❹ Java中請問將一個對象賦值給另一個同類對象,這兩個對象是否指向同一堆內存
是的。
對象是引用類型的,所以如果把一個對象賦值給另一個變數,它實際上只是把內存地址賦值了。也就是說,如果對象都是同一地址,那麼改變該地址的值,另外一個同地址的對象也會改變。
首先可以使用構造器的參數區別開兩個對象,如果要直接賦值而不互相影響,那麼可以使用clone(淺復制、深復制包含內部引用等)方法如Person newPerson=(Person)oldPerson.clone();這樣新舊對象是2個對象而不是共用一個地址的2個對象。
堆和棧
內存管理在Java語言中是JVM自動操作的,當JVM發現某些對象不再需要的時候,就會對該對象佔用的內存進行重分配(釋放)操作,而且使得分配出來的內存能夠提供給所需要的對象。
在一些編程語言裡面,內存管理是一個程序的職責,但是書寫過C++的程序員很清楚,如果該程序需要自己來書寫很有可能引起很嚴重的錯誤或者說不可預料的程序行為,最終大部分開發時間都花在了調試這種程序以及修復相關錯誤上。
以上內容參考:網路-java內存模型
❺ JAVA關於對象的賦值、方法幾個問題
大略看
public class 對象 {
int i = 1;
public void 成員方法(){
System.out.println("調用了成員方法");
}
public 對象() {
}
public String toString(){
return "這是\"對象\"的實例";
}
public static void main(String[] args) {
對象 t1 = new 對象();
對象 t2 = new 對象();
//對象 t3 = t1.成員方法; //~~~ 錯誤,成員方法()是無返回值的
//t2.i; //~~~ 錯誤,i是變數,不是方法,不能做語句
t1.i = 2;
System.out.println(t1); //輸出結果:對象@15db9742
//添加了toString(),輸出就不一樣了
System.out.println(t1.i); //輸出結果:2
}
}
❻ java中怎麼給對象賦值
通常用String ss="asasasa";就可以了,用String str=new String ("men"); 比較麻煩,因為它實際創建了兩個字元串,意思就是用「men」這個字元串來初始化str.String str=new String ();
他只是創建了一個字元串對象,可以在後續給他賦值初始化。也可以用他的引用來調用一些String類的方法。