JAVA类,只要知道了类名(全名)就可以创建其实例对象,通用的方法是直接使用该类提供的构造方法,如

NewObject o = new NewObject();

NewObject o = new NewObject("test");

NewObject o = new NewObject(new String[]{"aaa","bbb"});

除此之外,还可以利用java.lang.Class类来实现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(new Object[]{String.class}).newInstance(names);   }

catch (IllegalArgumentException e)

{

e.printStackTrace();

}

catch (SecurityException e)

{

e.printStackTrace();

}

catch (InstantiationException e)

{

e.printStackTrace();

}

catch (IllegalAccessException e)

{

e.printStackTrace();

}

catch (InvocationTargetException e)

{

e.printStackTrace();

}

catch (NoSuchMethodException e)

{

e.printStackTrace();

}

catch (ClassNotFoundException e)

{

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();

}

java实例化对象数组_java对象实例化相关推荐

  1. C++的对象数组、对象指针是什么?【案例解析】

    文章目录 一.对象数组(盛放对象的数组) 二.对象指针(指向对象的指针) 一.对象数组(盛放对象的数组) #include <iostream> using namespace std;/ ...

  2. C++对象数组与对象指针的用法【C++初学面向对象编程】

    文章目录 一.对象数组 二.对象指针 一.对象数组 1.概念 对象数组本质上就是:数组中每一个元素都是同一个类的对象. //定义对象数组(装有3个对象的数组) Box aa[3]={Box(1, 1, ...

  3. json对象数组按对象属性排序

    //json对象数组按对象属性排序 function JsonSort(obj, field, sortby) {this.obj = obj;this.field = field;this.sort ...

  4. js中对象数组根据对象id分组并转map

    js中对象数组根据对象id分组并转map 如果要将具有相同 id 属性的对象元素,分成不同的数组. 可以先从对象数组中提取相同的 id 属性,再使用 Array.reduce() 和 Map 来进行对 ...

  5. java对象数组_Java中对象数组的使用方法详解

    本文实例讲述了Java中对象数组的使用方法.分享给大家供大家参考,具体如下: 一 点睛 对象可以用数组来存放,通过下面两个步骤来实现. 1 声明以类为数据类型的数组变量,并用new分配内存空间给数组. ...

  6. java中的对象数组_Java中对象数组的使用方法详解

    本文实例讲述了java中对象数组的使用方法.分享给大家供大家参考,具体如下: 一 点睛 对象可以用数组来存放,通过下面两个步骤来实现. 1 声明以类为数据类型的数组变量,并用new分配内存空间给数组. ...

  7. java 静态对象数组_Java静态方法和实例方法 java中的数组作为形参传入

    原标题:Java静态方法和实例方法 java中的数组作为形参传入 Java静态方法和实例方法 java中的数组作为形参传入 Java虚拟机 启动一个Java程序的时候,会诞生一个虚拟机实例,当程序关闭 ...

  8. java二维对象数组_java 二维数组和对象数组

    1.二维数组:二维数组就是存储一维数组(内存地址/引用)的数组 2.二维数组的初始化 1) int intA[][]={{1,2},{2,3},{3,4,5}}; 2) int [][] intB=n ...

  9. java对象赋值_Java 对象不使用时为什么要赋值为 null?

    前言 许多Java开发者都曾听说过"不使用的对象应手动赋值为null"这句话,而且好多开发者一直信奉着这句话:问其原因,大都是回答"有利于GC更早回收内存,减少内存占用& ...

  10. java 对象复活_Java对象复活

    java 对象复活 总览 收集覆盖了finalize()的对象之后,将其添加到终结处理队列中,以在调用每个对象的finalize()方法之后进行清理. 如果您复活了物体,会发生什么? 何时定案? fi ...

最新文章

  1. 网络数据包分析软件Wireshark简介
  2. Tomcat的常用配置
  3. 如何活着:欲望、外界、标签、天才、时间、人生目标和经历
  4. 【LeetCode】2.两数相加
  5. spring boot-The temporary upload location [ ] is not valid
  6. [阿里云]I+的一些探索
  7. Android之BroadcastReceiver 监听系统广播
  8. 机器学习 美股_我如何使用机器学习来探索英美文学之间的差异
  9. 封送处理您的数据:利用 COM 和 Windows 2000 的高效传输数据的技术
  10. 自学html和css,学习HTML和CSS的5大理由
  11. python 中空NULL的表示
  12. 1.4 循环语句 方法
  13. php mysql 组件_Ubuntu20.04安装apache、mysql、php、phpmyadmin、wordpress(一)
  14. MFC中获取各个窗口(对话框)之间的指针、对象、句柄
  15. Android自带的抓包工具tcpdump
  16. sony a7 android,摄影 篇一:SONY A7R4利用ftp传输直传照片到安卓设备,完爆app体验
  17. 使用ETE包让系统发育树(进化树)和多重序列比对(MSA)“同框”
  18. python自相关函数提取基音周期_Python语音基础操作--4.2基音周期检测
  19. 虚拟机VMware安装苹果系统macOS,超级详细教程,附文件下载,真教程!!
  20. 图片报道:2008年12月4日夜晚,暴风雪突袭烟台(下)

热门文章

  1. ASP.NET MVC 重点教程一周年版 第七回 UrlHelper
  2. 计算机组成原理课后答案蒋本,计算机组成原理习题答案(蒋本珊).doc
  3. 【数学建模】数学建模指导:建模常用算法应用场景解析
  4. 群晖DS220+ 应用小笔记
  5. Fatal error in launcher: Unable to create process using ‘“c:\python27\python.exe“ “C:\Python27\Scri
  6. Android进阶学习-使用Canvas自定义ArcView(4)
  7. 在Latex如何添加Visio绘图
  8. 如何在通达信中展现漂亮的港资持股曲线
  9. pe系统如何读取手机_在酷安你甚至可以学到如何用手机充当启动盘进PE(多图警告)...
  10. icmp源代码 tcp/ip协议栈 c语言实现,ICMP处理《LwIP协议栈源码详解——TCP/IP协议的实现》...