簡體   English   中英

聲明/初始化和內存分配

[英]Declaration/Initialization and memory assignment

簡短:何時在聲明或初始化時分配內存?

int x; int x; 占用與int z = 10;相同的內存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 (雙打)是否占用內存? 任何?

這可能是一個愚蠢的問題,但只是谷歌搜索它從來沒有給我答案,我真的需要這個來優化我的用於大型數組的多構造對象。

x,y,z,h(雙打)是否占用內存? 任何?

是的 ,它們會使用默認值 0.0d進行初始化

但這不是優化內存的關鍵

據我了解,聲明說明了變量的名稱和類型。

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

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

如果您不提供初始值,則將其設置為0.0。

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

您的Factor對象很有趣。 名稱可以為null還是空白? 如果不是,則應防止在構造函數中將其設置為null或空白。

時間可以是負數嗎? 在我的物理學中,這通常是一個連續變量。 什么是單位-秒,兩周?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM