java中對象的創建
A. java中創建一個對象有哪幾種方法,有什麼區別
以string類為例
第一種:
string
str
=
new
string();
第二種:
string
str
=
class.forname(string).newinstance()
兩種方法創建的對象實體沒有任何區別,如果硬說有區別的話,那就是第一種直接調用了本類的構造函數,如果本類有多個構造函數重載的話,可以添加參數。而第二種是調用這個類的默認構造函數,即不帶任何參數的。
第一種方法是最常用,最普遍的用法。
第二種方法叫做工廠模式,是一種較安全的方法。
B. java在main方法中創建對象和main方法外創建對象有什麼區別
在main方法中創建對象,只有這個方法才可以使用這個對象,別的方法使用必須要在創建一個對象
在main方法外創建別的類對象,首先得在main方法中創建當前類的對象,這時候才會載入出你在main方法外創建的別的類的對象,這樣類中其他方法才可以使用這個對象,如果你沒有在main方法中創建當前類的對象,在其他方法中也不能使用這個對象
package com.unique.java;
public class TestDemo {
Zoo zoo = new Zoo(1);
public static void main(String[] args) {
TestDemo testDemo = new TestDemo();
Zoo zoo1 = new Zoo(2);
}
}
class Zoo{
Zoo(int idx){
System.out.println("Zoo("+idx+")");
}
}
輸出
Zoo(1)
Zoo(2)
//----------------------------------------------------------------------------------------
package com.unique.java;
public class TestDemo {
Zoo zoo = new Zoo(1);
public static void main(String[] args) {
//TestDemo testDemo = new TestDemo();
Zoo zoo1 = new Zoo(2);
}
}
class Zoo{
Zoo(int idx){
System.out.println("Zoo("+idx+")");
}
}
}
輸出:
Zoo(2)
C. Java如何創建對象
將會列舉5種方法去創建 Java 對象,以及他們如何與構造函數交互,並且會有介紹如何去使用這些方法的示例。
作為一個 Java 開發人員,我們每天都會創建大量的 Java 對象,但是我們通常會使用依賴管理系統去創建這些對象,例如 Spring 。然而,我們可以有更多的方式去創建對象,讓我們一起在文章中去學習這些方法吧。
這里列舉在 Java 中創建對象的五種方式,下面將介紹它們的示例,以及創建對象的行的位元組碼。
D. Java創建對象
很多的,作為Java開發者,我們每天創建很多對象,但我們通常使用依賴管理系統,比如Spring去創建對象。
使用new創建對象使用new關鍵字創建對象應該是最常見的一種方式。
E. java如何創建一個類的對象
Java創建一個類的對象通過new關鍵字創建:
語法如下:
類 對象 = new 類構造方法();
實例:
public class Person{
String name;
char sex;
int age;
public static void main(String[] args){
//在main方法完成Person類的對象person創建
Person person1 = new Person();
}
}
你明白了嗎?
F. 在java中創建對象到底有多少種方法
Java中創建對象的四種方式
1.用new語句創建對象,這是最常見的創建對象的方法。
2.運用反射手段,調用java.lang.Class或者java.lang.reflect.Constructor類的newInstance()實例方法。
3.調用對象的clone()方法。
4.運用反序列化手段,調用java.io.ObjectInputStream對象的 readObject()方法。
下面演示了用前面3種方式創建對象的過程:
public class Customer implements Cloneable{
private String name;
private int age;
public Customer(){
this("unknown",0);
System.out.println("call default constructor");
}
public Customer(String name,int age){
this.name=name;
this.age=age;
System.out.println("call second constructor");
}
public Object clone()throws CloneNotSupportedException{
return super.clone();
}
public boolean equals(Object o){
if(this==o)return true;
if(! (o instanceof Customer)) return false;
final Customer other=(Customer)o;
if(this.name.equals(other.name) && this.age==other.age)
return true;
else
return false;
}
public String toString(){
return "name="+name+",age="+age;
}
public static void main(String args[])throws Exception{
//運用反射手段創建Customer對象
Class objClass=Class.forName("Customer");
Customer c1=(Customer)objClass.newInstance(); //會調用Customer類的默認構造方法
System.out.println("c1: "+c1); //列印name=unknown,age=0
//用new語句創建Customer對象
Customer c2=new Customer("Tom",20);
System.out.println("c2: "+c2); //列印name=tom,age=20
//運用克隆手段創建Customer對象
Customer c3=(Customer)c2.clone(); //不會調用Customer類的構造方法
System.out.println("c2==c3 : "+(c2==c3)); //列印false
System.out.println("c2.equals(c3) : "+c2.equals(c3)); //列印true
System.out.println("c3: "+c3); //列印name=tom,age=20
}
}
除了以上4種顯式地創建對象的方式以外,在程序中還可以隱含地創建對象,包括以下幾種情況:
1.對於java命令中的每個命令行參數,Java虛擬機都會創建相應的String對象,並把它們組織到一個String數組中,再把該數組作為參數傳給程序入口main(String args[])方法。
2.程序代碼中的String類型的直接數對應一個String對象。
3.字元串操作符「+」的運算結果為一個新的String對象。
4.當Java虛擬機載入一個類時,會隱含地創建描述這個類的Class實例.
G. java如何創建對象
JAVA創建對象的四種方式:
有4種顯式地創建對象的方式:
1.用new語句創建對象,這是最常用的創建對象的方式。最常用 比如
Scanner scanner = new Scanner(System.in)
2.運用反射手段,Java.lang.Class或者java.lang.reflect.Constructor類的newInstance()實例方法。
3.調用對象的clone()方法。
4.運用反序列化手段
H. Java中創建對象的問題
您好,提問者:
咱們都知道String是引用類型,而且不能被繼承。
那麼引用類型就是在內存中採用引用地址的形式指向存儲在內存中的字元串。
因為String確實是個類,所以new了就是創建了一個對象。
String
B是沒有創建對象的,在常量池中也沒有對象,只是引用了A。
而C是一個對象,所以創建了兩個對象!
I. JAVA創建對象有哪幾種方式
JAVA創建對象的四種方式:
有4種顯式地創建對象的方式:
1.用new語句創建對象,這是最常用的創建對象的方式。
2.運用反射手段,調用Java.lang.Class或者java.lang.reflect.Constructor類的newInstance()實例方法。
3.調用對象的clone()方法。
4.運用反序列化手段,調用java.io.ObjectInputStream對象的readObject()方法.
下面演示了用前面3種方式創建對象的過程。
4.當Java虛擬機載入一個類時,會隱含地創建描述這個類的Class實例.