qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Java對象實例化

           JAVA類,只要知道了類名(全名)就可以創建其實例對象,通用的方法是直接使用該類提供的構造方法,如
            NewObject o = new NewObject();
            NewObject o = new NewObject("test");
            NewObject o = new NewObject(new String[]{"aaa","bbb"});
            除此之外,還可以利用java.lang.Class<T>類來實現JAVA類的實例化。
            1、空構造方法
            如果類有空構造方法,如下面的類
          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);
          }
          }
            使用以下代碼可實現實例化:
          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、帶參數構造方法
          public class NewObject
          {
          String name;
          public NewObject()
          {
          System.out.println(“ the object is created!”);
          }
          public void write()
          {
          System.out.println(“”);
          }
          }
            使用以下代碼可實現實例化:
          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、帶數組參數構造方法
            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);
            }
            }
            使用以下代碼可實現實例化:
          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) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

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

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 禄劝| 繁峙县| 二手房| 临夏市| 澎湖县| 都昌县| 越西县| 田东县| 耿马| 卢氏县| 大方县| 寻乌县| 遵义县| 伊吾县| 蛟河市| 珲春市| 望江县| 蒙阴县| 贺州市| 赤水市| 定安县| 社旗县| 绍兴县| 忻州市| 和顺县| 西吉县| 丹棱县| 嘉鱼县| 肥东县| 灵寿县| 渝北区| 延寿县| 锦屏县| 万全县| 宜都市| 宕昌县| 沽源县| 宿州市| 鄢陵县| 秭归县| 雷山县|