當前位置:首頁 » 編程語言 » java類初始化

java類初始化

發布時間: 2023-10-08 00:22:07

java語言,什麼是初始化啊初始化和實例化一樣嗎

java中不管對象也好,還是基本數據類型也好,你聲明它的時候,它們都稱為變數,在你使用變數前給變數進行賦值,這就是變數的初始值,因此叫變數初始化。

實例化是指對象的創建,一般是指通過 new 關鍵字(當然還有其他途徑,比如反射),在堆中為對象分配內存,這就是實例化。舉個非常簡單的例子,你知道飛機會飛,但飛機在你腦海里只是個概念,當真的把飛機製造出來,變成實實在在的,存在於物質世界(java中稱內存)的東西時,你才能用它來飛。如果在物質世界(內存)中根本就不存在,那就無法使用。因此,實例化可以說將概念(類),變成實際存在(內存中存在)的過程就稱為實例化。

❷ java的類初始化,隱式,顯示,什麼意思

1.Java對象何時被初始化

Java對象在其被創建時初始化,在Java代碼中,有兩種行為可以引起對象的創建。其中比較直觀的一種,也就是通常所說的顯式對象創建,就是通過new關鍵字來調用一個類的構造函數,通過構造函數來創建一個對象,這種方式在java規范中被稱為「由執行類實例創建表達式而引起的對象創建」。
當然,除了顯式地創建對象,以下的幾種行為也會引起對象的創建,但是並不是通過new關鍵字來完成的,因此被稱作隱式對象創建,他們分別是:

● 載入一個包含String字面量的類或者介面會引起一個新的String對象被創建,除非包含相同字面量的String對象已經存在與虛擬機內了(JVM會在內存中會為所有碰到String字面量維護一份列表,程序中使用的相同字面量都會指向同一個String對象)


●自動裝箱機制可能會引起一個原子類型的包裝類對象被創建;

●String連接符也可能會引起新的String或者StringBuilder對象被創建,同時還可能引起原子類型的包裝對象被創建,比如(本人試了下,在mac ox下1.6.0_29版本的javac,對待下面的代碼會通過StringBuilder來完成字元串的連接,並沒有將i包裝成Integer,因為StringBuilder的append方法有一個重載,其方法參數是int);


2.Java如何初始化對象

當一個對象被創建之後,虛擬機會為其分配內存,主要用來存放對象的實例變數及其從超類繼承過來的實例變數(即使這些從超類繼承過來的實例變數有可能被隱藏也會被分配空間)。在為這些實例變數分配內存的同時,這些實例變數也會被賦予默認值。

上面的代碼中,Foo和Bar中都定義了變數i,在main方法中,我們用Foo引用一個Bar對象,如果實例變數與方法一樣,允許被覆蓋,那麼列印的結果應該是1,但是實際的結果確是0。
但是如果我們在Bar的方法中直接使用i,那麼用的會是Bar對象自己定義的實例變數i,這就是隱藏,Bar對象中的i把Foo對象中的i給隱藏了,這條規則對於靜態變數同樣適用。

在內存分配完成之後,java的虛擬機就會開始對新創建的對象執行初始化操作,因為java規范要求在一個對象的引用可見之前需要對其進行初始化。在Java中,三種執行對象初始化的結構,分別是實例初始化器、實例變數初始化器以及構造函數。

http://www..com/s?wd=52014085078

❸ java數組類初始化如何賦值

Comparable[] s={new Comparable(3),new Comparable(20),new Comparable(13)};
估計也只能這樣子了.這么寫不能直接指定數組的長度.
數據特別多的話,最好是把你的數據用個int數組包裝起來,再寫個循環.

❹ Java類屬性初始化是什麼

1.我們都知道java是面向對象的語言, 那麼類就好比是一個模板, 比如Student類, 這個類其實是一個模板, 是一個規范.

然後我們執行下面這行代碼

Student xiaoMing = new Student();

就相當於我們用Student這個模板去生成了一個對象, 這個對象叫xiaoMing.

如果Student這個類有一個屬性private int age;當我們只是做上面new對象的動作時候, xiaoMing的age並沒有被賦值, 只是初始化成了0

(數值類型的屬性初始化都是0, String則是null, 例如有個字元串類型的屬性name就會是null)

然後xiaoMing.setAge(10); 那麼這個時候xiaoMing的age屬性才變成10,

所以類屬性初始化指的就是在new對象的時候對各個屬性賦予一個初始化的值.

2.為什麼要用構造方法進行屬性初始化:

這個並不是強制的, 構造方法分成無參構造和帶參構造, 用構造方法對屬性進行初始化只是單純的為了方便而已.

❺ java 對象的初始化方式有幾種

1、構造器
創建對象時初始化,比較常見。
classA{
publicA()
{}
}
public
2、初始化塊
較少見,用於有特殊要求的類。
static {
}
3、方法
即Setter方法,雖然方便(不必在創建對象時一次性初始化),但是可能引發空指針異常。

❻ java 類型類怎麼初始化賦值

總結了java數組的初始化的兩種方法如下:
1、最簡單的方法是直接賦值,如:
一維數組:

int[] num = {21,34,2,-9,987,0,-89};//創建一個一維數組,並賦7個初始值
二維數組:

int[][] num2 = {{21,22},{34,35}};//創建一個二維數組,並賦2個初始值
2、先創建一個數組對象出來,再進行循環賦值,如:
一維數組:
int[] num3 = new int[5];//先創建一個5長度的數組對象
for(int i=0;i<num3.length;i++){//之後進行循環遍歷對數組進行賦值
num3[i] = i;
}
二維數組:
int[][] num4 = new int[5][2];//先創建一個二維數組對象
for(int i=0;i<num3.length;i++){//之後進行循環遍歷對數組進行賦值
for(int j=0;j<num4[i].length;j++){
num4[i][j] = j;
}
}

熱點內容
伺服器可以在電腦上登錄嗎 發布:2025-03-03 17:53:01 瀏覽:637
執行編譯的命令是 發布:2025-03-03 17:48:49 瀏覽:202
oracle進入資料庫 發布:2025-03-03 17:35:36 瀏覽:150
代碼塊編程 發布:2025-03-03 17:22:06 瀏覽:328
計算幾何c語言描述 發布:2025-03-03 17:07:25 瀏覽:274
哈佛黑標是什麼配置 發布:2025-03-03 16:54:30 瀏覽:388
武林志怎麼改配置 發布:2025-03-03 16:49:53 瀏覽:13
編程珠璣第二版 發布:2025-03-03 16:24:50 瀏覽:60
國網統一許可權密碼是多少 發布:2025-03-03 16:24:07 瀏覽:130
如何打開通訊錄的密碼 發布:2025-03-03 15:53:13 瀏覽:63