我是靠谱客的博主 细心大船,最近开发中收集的这篇文章主要介绍【Java笔记(7)】反射实例化对象clazz.getDeclaredConstructor().newInstance()跟class.newInstance()一、Class类的实例化方式二、反射实例化对象三、关键字总结,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
目录
- 一、Class类的实例化方式
- 二、反射实例化对象
- 三、关键字总结
一、Class类的实例化方式
package reflect;
import java.util.Date;
/**
* Class类对象的三种形式,三种形式都很重要
*
* @ClassName: ClassObjectThreeDome
* @Author: Xlu103
* @Date: 2020-06-07 19:14
**/
public class ClassObjectThreeDome {
//注意会抛出 ClassNotFoundException异常,类找不到。是在Class.forName()中抛出的。
public static void main(String[] args) throws ClassNotFoundException {
//使用 Object中的getClass()
方法获得
Date date = new Date();
Class dateClass_1=date.getClass();
System.out.println(dateClass_1);
//使用 类名.class 来获取
//这个是JVM支持的,但是得先把包导进来
Class dateClass_2=Date.class;
System.out.println(dateClass_2);
//利用Class中的forName()方法获取类
Class dateCLass_3 = Class.forName("java.util.Date");
System.out.println(dateCLass_3);
}
}
二、反射实例化对象
package reflect;
import java.lang.reflect.InvocationTargetException;
/**
* 1.9之前使用 newInstance()实例化对象
* 1.9之后使用
* @ClassName: NewInstanceDome
* @Author: Xlu103
* @Date: 2020-06-07 19:35
**/
public class NewInstanceDome {
public static void main(String[] args) throws IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
Class instanceObj =PersonInstance.class;
//1.9之后不能用了,因为只能调用无参构造,没办法构
Object objPerson1 =instanceObj.newInstance();
//1.9之后采用这个来实例化对象
Object objPerson2 = instanceObj.getDeclaredConstructor().newInstance();
System.out.println(objPerson1);
System.out.println(objPerson2);
}
}
class PersonInstance {
public PersonInstance() {
System.out.println("我被构造了");
}
@Override
public String toString() {
return "我来了";
}
}
三、关键字总结
//使用 Object中的getClass()
方法获得
Class dateClass_1=date.getClass();
//使用 类名.class 来获取
//这个是JVM支持的,但是得先把包导进来
Class dateClass_2=Date.class;
//利用Class中的forName()方法获取类
Class dateCLass_3 = Class.forName("java.util.Date");
//1.9之后不能用了,因为只能调用无参构造,没办法构
Object objPerson1 =instanceObj.newInstance();
//1.9之后采用这个来实例化对象
//这里要注意不是getDeclaredConstructors
Object objPerson2 = instanceObj.getDeclaredConstructor().newInstance();
最后
以上就是细心大船为你收集整理的【Java笔记(7)】反射实例化对象clazz.getDeclaredConstructor().newInstance()跟class.newInstance()一、Class类的实例化方式二、反射实例化对象三、关键字总结的全部内容,希望文章能够帮你解决【Java笔记(7)】反射实例化对象clazz.getDeclaredConstructor().newInstance()跟class.newInstance()一、Class类的实例化方式二、反射实例化对象三、关键字总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复