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(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();
}
转载于:https://www.cnblogs.com/manwuyuantao/archive/2012/11/08/2759769.html
Java对象的实例化相关推荐
- Java对象的实例化过程是怎样的?
勇气 对象实例化过程 底层实现原理 检查符号引用 分配内存 线程安全处理 初始化内存 设置对象信息 执行init构造 代码示例 对象实例化过程 对象实例化过程,就是执行类构造函数对应在字节码文件中的 ...
- Java 对象生命周期
Java 对象生命周期 一直对Java对象的实例化.对象.对象的引用.堆 栈存放的内容迷惑不解.看了 Java编程思想,理解似乎又深了一层. 对象和对象的引用 Java 编程思想中,把对象的引用比喻成 ...
- java new 删除吗,java泛型对象初始化-java泛型对象会实例化吗T t=new T()
java泛型对象初始化--java泛型对象能实例化吗T t=new T() java中没法得到泛型参数化类型,因为在编译期没法确定泛型参数化类型,也就找不到对应的类字节码文件,自然就不行了 泛型反射的 ...
- Java中对象的实例化顺序
文章目录 1 Java中对象的实例化顺序 1 Java中对象的实例化顺序 继承后的初始化顺序: 静态成员包括静态构造代码块,初始化顺序跟书写顺序有关.
- Java对象的创建过程:类的初始化与实例化
一.Java对象创建时机 我们知道,一个对象在可以被使用之前必须要被正确地实例化.在Java代码中,有很多行为可以引起对象的创建,最为直观的一种就是使用new关键字来调用一个类的构造函数显式地创建对象 ...
- java对象实例化的方式
java对象实例化的方式有以下几种: 1.使用new 2.工厂模式 3.反射 4.clone()方法 5.反序列化方式 /** 实现Cloneable和Serializable接口 */ public ...
- java基础代码实例_基础篇:详解JAVA对象实例化过程
1 对象的实例化过程 对象的实例化过程是分成两部分:类的加载初始化,对象的初始化 要创建类的对象实例需要先加载并初始化该类,main方法所在的类需要先加载和初始化 类初始化就是执行方法,对象实例化是执 ...
- 创建java类并实例化类对象
创建java类并实例化类对象例一 1.面向对象的编程关注于类的设计 2.设计类实际上就是设计类的成员 3.基本的类的成员,属性(成员变量)&方法 面向对象思想的落地法则一: 1.设计类,并设计 ...
- java实例化类之后如何赋值_深入理解Java对象的创建过程:类的初始化与实例化...
摘要: 在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的.在实例化一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类 ...
最新文章
- java获取当前日期时间代码
- 程序员面试金典 - 面试题 03.05. 栈排序(两栈)
- 数据库基础知识——初始MySQL
- silverlight 学习笔记 (七):Prism的第一个应用
- Ubuntu 双系统安装流程
- 国家公祭日(国家哀悼日)将网站改成悼念灰黑色的方法
- 源码解析zxing条码边距及总宽度计算规则,附java使用zxing生成条形码,并去除条码两边空白
- 刘夏真的简历中国科学院计算机所,刘夏_广西医科大学研究生导师信息
- DeFi黑暗森林历险记,我这样追回了百万美元
- 怎么将计算机设置为光盘引导模式,通过bios设置从光盘/光驱启动的方法
- 华为手机便签有扫描的功能么
- 自己构建iSCSI磁盘阵列
- android之java程序性能优化
- Spring-第一篇-快速入门
- linux看内存插槽,Linux查看内存大小和插槽
- 荣耀手表2给女生带来无数次无法拒绝的心动
- mapbox和leaflet给地图添加遥感影像
- RTD热电阻/TC热电偶
- 虎牙泛游戏直播布局获认可 IPO 40天市值暴涨300%
- ldap认证 java_Java实现LDAP认证(上) | 学步园