国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

java基礎(chǔ)之創(chuàng)建對(duì)象的方式

2019-11-06 08:02:52
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
 一星期前我只知道2種方式創(chuàng)建對(duì)象,第一種是new  第二種是反射,后來(lái)遇到了個(gè)螞蟻金服面試,牛B的大神問(wèn)我java創(chuàng)建對(duì)象的方式有幾種,瞬間進(jìn)了坑。這里引用了一個(gè)哥們的文章http://www.cnblogs.com/wxd0108/p/5685817.htmljava創(chuàng)建對(duì)象有5種方式:1、 new,最常見(jiàn)的方式  Test t=new Test();2、使用Class類(lèi)反射:   Thread thread = (Thread) Class.forName("org.http.ThreadA").newInstance();  或者 Thread thread =ThreadA.class.newInstance();3、使用Constructor類(lèi)反射:ThreadA thread =ThreadA.class.getConstructor().newInstance(); 這兩種的區(qū)別被許多開(kāi)源框架底層使用,具體區(qū)別在哪得再找個(gè)空研究研究4、使用clone方法: 就是實(shí)現(xiàn)一個(gè)Cloneable 接口,使用clone()方法創(chuàng)建無(wú)論何時(shí)我們調(diào)用一個(gè)對(duì)象的clone方法,jvm就會(huì)創(chuàng)建一個(gè)新的對(duì)象,將前面對(duì)象的內(nèi)容全部拷貝進(jìn)去。用clone方法創(chuàng)建對(duì)象并不會(huì)調(diào)用任何構(gòu)造函數(shù)注:引用的哥們的文章上有一個(gè)地方不對(duì),我試了1.6到1.8的jdk:并不需要在實(shí)體中實(shí)現(xiàn)或定義clone()方法,也能正常創(chuàng)建對(duì)象如果不實(shí)現(xiàn)Cloneable 接口 直接運(yùn)行mian方法會(huì)拋出java.lang.CloneNotSupportedException異常代碼==========================public class T1 implements Cloneable {PRivate int a;public int getA() {return a;}public void setA(int a) {this.a = a;}@Override    public Object clone() throws CloneNotSupportedException {       return super.clone();}} public static void main(String[] args) throws Exception    {    T1 t1=new T1();   T1 t=(T1) t1.clone();       System.out.println("創(chuàng)建完成");    }   5、使用反序列化:當(dāng)我們序列化和反序列化一個(gè)對(duì)象,jvm會(huì)給我們創(chuàng)建一個(gè)單獨(dú)的對(duì)象。在反序列化時(shí),jvm創(chuàng)建對(duì)象并不會(huì)調(diào)用任何構(gòu)造函數(shù)。為了反序列化一個(gè)對(duì)象,我們需要讓我們的類(lèi)實(shí)現(xiàn)Serializable接口 T1類(lèi)實(shí)現(xiàn)Serializable ObjectInputStream in = new ObjectInputStream(new FileInputStream("對(duì)象流")); T1 t=(T1) in.readObject(); 我的理解:類(lèi)被加載的時(shí)候jvm自動(dòng)創(chuàng)建Class對(duì)象,無(wú)需new,無(wú)需反射執(zhí)行一個(gè)類(lèi)的時(shí)候(main方法),會(huì)自動(dòng)創(chuàng)建一個(gè)String數(shù)組作為參數(shù),無(wú)需new,無(wú)需反射有人說(shuō)String  a="";也是創(chuàng)建對(duì)象的一種方法,好像是那么回事 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 香河县| 雅安市| 宜宾市| 保靖县| 寿宁县| 蓝田县| 咸宁市| 区。| 武汉市| 湟源县| 时尚| 宁波市| 肥西县| 志丹县| 黔西| 谢通门县| 澄城县| 枝江市| 嫩江县| 万载县| 会宁县| 龙口市| 巴林左旗| 延安市| 盘锦市| 吉木乃县| 延川县| 肥东县| 满城县| 开鲁县| 永兴县| 柳州市| 平武县| 宜丰县| 财经| 阿拉善右旗| 郓城县| 怀柔区| 建昌县| 敖汉旗| 苗栗市|