導航:首頁 > 編程語言 > java類中定義對象

java類中定義對象

發布時間:2025-01-04 14:31:07

java中用new定義對象有幾種寫法

java中用new定義對象有3種寫法。

1.使用new關鍵字

通過這種方式,我們可以調用任意的構造函數(無參的和帶參數的)。

<span style="color: #ff0000;">Employee emp1 = newEmployee();</span> 0: new#19// class org/programming/mitra/exercises/Employee: p

: invokespecial #21// Method org/programming/mitra/exercises/Employee."":()V

2.使用Class類的newInstance方法

我們也可以使用Class類的newInstance方法創建對象。這個newInstance方法調用無參的構造函數創建對象。

我們可以通過下面方式調用newInstance方法創建對象:

<span style="color: #ff0000;">Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee").newInstance();</span>

3.使用反序列化

當我們序列化和反序列化一個對象,jvm會給我們創建一個單獨的對象。在反序列化時,jvm創建對象並不會調用任何構造函數。為了反序列化一個對象,我們需要讓我們的類實現Serializable介面 。

<span style="color: #ff0000;">ObjectInputStream in = newObjectInputStream(newFileInputStream("data.obj"));Employee emp5 = (Employee) in.readObject();</span>

② Java如何創建對象

Java有5種方式來創建對象:


1、使用 new 關鍵字(最常用):

ObjectName obj = new ObjectName();

2、使用反射的Class類的newInstance()方法:

ObjectName obj = ObjectName.class.newInstance();

3、使用反射的Constructor類的newInstance()方法:

ObjectName obj = ObjectName.class.getConstructor.newInstance();

4、使用對象克隆clone()方法:

ObjectName obj = obj.clone();

5、使用反序列化(ObjectInputStream)的readObject()方法:

try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(FILE_NAME))) {

ObjectName obj = ois.readObject();

}

③ java類怎樣定義數組對象數組

public class a {
public static void main(String[]args){ int a[]={3,9,8};//這個是數組的靜態初始化. Date days[]={new Date(1,4,2994),new Date(2,4,2004),new Date(2,5,2005)};
//創建了3個Date對象放在days[]數組里。 //這里還有種寫法。你可以先定義個數組,然後動態的進行付值。 //這樣寫可能煩了點,你也可以用for循環來進行動態賦值。 //列:Date days[]; // days=new Date[3]; // days[0]=new Date(1,2,3); // days[1]=new Date(1,2,3); // days[2]=new Date(1,2,3);
for(int i=0;i<days.length;i++){ //循環數組里的對象
//將對象中的a屬性列印輸出。

④ java怎麼定義一個對象

類名 對象名 = new 類名(實際參數)

Dog myDog = new Dog(Yellow);

默認構造函數沒有參數,可以有多種參數。

⑤ java 這樣在一個類中定義一個對象數組為什麼會出錯

首先糾正你一個錯誤,第二句(第二張圖第六行)應該是

a[0]=newStudent();

而不是

Student[0]=newStudent();

因為你定義的數組名字叫 a 而不是 Student。


但是,你的主要錯誤並不只在這里。而是因為在 Java 中,在一個類的方法外只能定義這個類的成員及其他方法,而不能進行任何對這個類成員的操作,包括修改成員。這里你使用

Student[]a=newStudent[3];

來定義了一個長度為 3 的數組 a 作為 www 類的成員,這是可以的。但是隨後你使用

a[0]=newStudent();

初始化 a 中的對象,這就相當於在一個方法的外部來更改類的成員。這種操作是不允許的。所以你有如下兩種改法:


第一種是創建一個方法(比如說類的構造函數或者 main 函數),然後把第二句放在這個方法里。

publicclassWww{

Student[]a=newStudent[3];

publicWww(){
a[0]=newStudent();
}

}

第二種是將第二句用大括弧括起來。

publicclassWww{

Student[]a=newStudent[3];
{
a[0]=newStudent();
}

}

⑥ Java里「類」和「對象」定義分別是什麼我學過C語言,可以用裡面的東西解釋。

對象是類的實體比如你大腦中的汽車 這只是個概念,這個概念相當於類而真正的一輛桑塔納汽車就是一個對象 是車這個概念的實體不知道你打不打游戲,比如游戲里所說的某個兵種就是類,造出來的兵就是對象,類只是具有某些共性的實體所總結出的概念。C語言中的struct(結構體)的概念就類似於JAVA的類Java里「類」和「對象」定義分別是什麼?我學過C語言,可以用裡面的東西解釋。

閱讀全文

與java類中定義對象相關的資料

熱點內容
法語教育哪個app好 瀏覽:708
加密文件怎麼炸開 瀏覽:113
的加密技術有 瀏覽:420
副圖指標源碼怎麼設置 瀏覽:727
程序員勞動合同範本 瀏覽:588
單片機生產公司 瀏覽:528
查看工作區文件內容變化的命令 瀏覽:726
war壓縮軟體下載 瀏覽:372
哪個視頻app小品多 瀏覽:887
健身房收銀app哪個好用 瀏覽:956
javastring轉long 瀏覽:804
標記宏命令 瀏覽:235
牛市行情選股源碼 瀏覽:435
不壓縮上傳文件夾 瀏覽:881
加工中心編程說明 瀏覽:575
沃倫加密貨幣風險 瀏覽:309
不用的東西想賣掉用什麼app 瀏覽:165
單卡伺服器是什麼意思 瀏覽:428
電視機的斗魚app在哪裡尋找 瀏覽:593
linux的面試題及答案 瀏覽:693