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 閱讀(232) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

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

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 增城市| 砚山县| 滦南县| 萍乡市| 西畴县| 金沙县| 秦安县| 交城县| 锦州市| 宜宾市| 邓州市| 阳谷县| 原平市| 靖边县| 烟台市| 中阳县| 秭归县| 广平县| 阳山县| 宣汉县| 宜兴市| 波密县| 车险| 海林市| 南城县| 巧家县| 平利县| 孟村| 芜湖县| 新干县| 新密市| 乐安县| 连南| 永川市| 嘉义市| 民勤县| 菏泽市| 贵德县| 浪卡子县| 塔河县| 独山县|