2014-07-08 130 views
0

Short:何時分配內存 - 在聲明或初始化?聲明/初始化和內存分配

長:int x;採取與int z = 10;相同的內存。

此外,這將如何工作自定義包含更多數據的對象。 比方說,我有這樣的對象:

public class Factor 
{ 
    private String name; 
    private int value; 
    private int time; 
    private double x; 
    private double y; 
    private double z; 
    private double h; 

    public Factor(String name, int value, int time) 
    { 
     this.name = name; 
     this.value = value; 
     this.time = time; 
    } 
} 

然後我用初始化:

Factor f = new Factor("Name", 10, 10); 

X,Y,Z,H(雙打)曾經服用內存?任何?

這可能是一個愚蠢的問題,但只是使用谷歌搜索它永遠不會給我答案,我真的需要這個來優化我的多構造函數對象被用於巨大的數組。

回答

1

x,y,z,h(雙打)有沒有記憶?任何?

他們這樣做,他們與default value這是0.0d

初始化然而這是不是一個關鍵點,你可以優化你的內存

0

據我瞭解,聲明闡明瞭名和變量的類型。

調用構造函數時發生分配和初始化。

當然雙打佔用內存:每雙8字節。這是一個64位IEEE浮點數。

它被設置爲0.0 f,您不提供初始值。

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

你的因子對象是有趣的。名稱可以爲空或空白?如果不是,你應該防止在構造函數中將其設置爲null或空白。

可以時間消極嗎?它通常是我物理學中的一個連續變量。什麼是單位 - 秒,四分相?