qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          Java對(duì)象實(shí)例化

           JAVA類,只要知道了類名(全名)就可以創(chuàng)建其實(shí)例對(duì)象,通用的方法是直接使用該類提供的構(gòu)造方法,如
            NewObject o = new NewObject();
            NewObject o = new NewObject("test");
            NewObject o = new NewObject(new String[]{"aaa","bbb"});
            除此之外,還可以利用java.lang.Class<T>類來(lái)實(shí)現(xiàn)JAVA類的實(shí)例化。
            1、空構(gòu)造方法
            如果類有空構(gòu)造方法,如下面的類
          public class NewObject
          {
          String name;
          public NewObject(String[] name)
          {
          this.name = name[0];
          System.out.println(“ the object is created!”);
          }
          public void write()
          {
          System.out.println(this.name);
          }
          }
            使用以下代碼可實(shí)現(xiàn)實(shí)例化:
          NewObject no = null;
          try
          {
          no = (NewObject)Class.forName(className).newInstance();
          no.write();
          }
          catch (InstantiationException e)
          {
          e.printStackTrace();
          }
          catch (IllegalAccessException e)
          {
          e.printStackTrace();
          }
          catch (ClassNotFoundException e)
          {
          e.printStackTrace();
          }

          字體:        | 上一篇 下一篇 | 打印  | 我要投稿 

            2、帶參數(shù)構(gòu)造方法
          public class NewObject
          {
          String name;
          public NewObject()
          {
          System.out.println(“ the object is created!”);
          }
          public void write()
          {
          System.out.println(“”);
          }
          }
            使用以下代碼可實(shí)現(xiàn)實(shí)例化:
          try
          {
          no=(NewObject)Class.forName(className).getConstructor(String.class).newInstance(names);
          //no=(NewObject)Class.forName(className).getConstructor(newObject[]{String.class}).newInstance(names);
          }
          catch(IllegalArgumentExceptione)
          {
          e.printStackTrace();
          }
          catch(SecurityExceptione)
          {
          e.printStackTrace();
          }
          catch(InstantiationExceptione)
          {
          e.printStackTrace();
          }
          catch(IllegalAccessExceptione)
          {
          e.printStackTrace();
          }
          catch(InvocationTargetExceptione)
          {
          e.printStackTrace();
          }
          catch(NoSuchMethodExceptione)
          {
          e.printStackTrace();
          }
          catch(ClassNotFoundExceptione)
          {
          e.printStackTrace();
          }
            3、帶數(shù)組參數(shù)構(gòu)造方法
            public class NewObject
            {
            String name;
            public NewObject(String name)
            {
            this.name = name;
            System.out.println(“ the object is created!”);
            }
            public void write()
            {
            System.out.println(this.name);
            }
            }
            使用以下代碼可實(shí)現(xiàn)實(shí)例化:
          try
          {
          Constructor[] cs;
          cs = Class.forName(className).getConstructors();
          Constructor cc = Class.forName(className).getConstructor(String[].class);
          no = (NewObject)cc.newInstance(new Object[]{names});
          }
          catch (SecurityException e)
          {
          e.printStackTrace();
          }
          catch (ClassNotFoundException e)
          {
          e.printStackTrace();
          }
          catch (NoSuchMethodException e)
          {
          e.printStackTrace();
          }
          catch (IllegalArgumentException e)
          {
          e.printStackTrace();
          }
          catch (InstantiationException e)
          {
          e.printStackTrace();
          }
          catch (IllegalAccessException e)
          {
          e.printStackTrace();
          }
          catch (InvocationTargetException e)
          {
          e.printStackTrace();
          }

          posted on 2014-12-03 13:37 順其自然EVO 閱讀(224) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

          <2014年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 西林县| 广水市| 刚察县| 长沙市| 茶陵县| 库伦旗| 镇康县| 汉中市| 洛南县| 宝鸡市| 汉阴县| 甘谷县| 冀州市| 顺义区| 土默特右旗| 界首市| 四子王旗| 积石山| 小金县| 大丰市| 永善县| 中牟县| 永济市| 广汉市| 宝丰县| 安塞县| 大庆市| 施秉县| 巴林右旗| 潼关县| 山阴县| 莲花县| 耒阳市| 南丹县| 合阳县| 岗巴县| 沿河| 固镇县| 乌拉特中旗| 京山县| 禹州市|