JAVA9之后废弃newInstance()方法

根据JAVA11的API 我们可以看见反射中的newInstance()方法不推荐使用了,用

clazz.getDeclaredConstructor().newInstance()

代替

例如

package reflect;

import java.lang.reflect.InvocationTargetException;

/**
* 获取class对象的几种方法
* 对象.get.class
* 类 class
* Class.forName(全限定类名)
*
*/
public class Demo {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException {
String string="abc";
Class<?> class1=string.getClass();
class1=String.class;
try {
class1=Class.forName("java.lang.String");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println((String)class1.getDeclaredConstructor().newInstance());
} }

JAVA9之后废弃newInstance()方法的更多相关文章

  1. new关键字和newInstance()方法的区别

    转载:http://blog.csdn.net/iloveyin/article/details/7965183 1.类的加载方式不同    在执行Class.forName("a.clas ...

  2. Java中创建对象的5种方式 &&new关键字和newInstance()方法的区别

    转载:http://www.kuqin.com/shuoit/20160719/352659.html 用最简单的描述来区分new关键字和newInstance()方法的区别:newInstance: ...

  3. java中new关键字和newInstance()方法的区别

    1> new是一个关键字,可以说是一个指令: newInstance()是一个方法,Class对象的一个方法. 2> new主要作用是在内存中生成一个实例,而这个类可以没有提前加载到内从中 ...

  4. 演示Thread.sleep(100)和Thread.currentThread().isInterrupted()+@Deprecated:将方法标注为废弃的方法

    package charpter08; public class TestInterrupt01 { public static void main(String[] args) { Processo ...

  5. new 关键字 和 newInstance() 方法的 区别

    区别1: new是一个关键字,可以说是一个指令: newInstance()是一个方法,Class对象的一个方法. 区别2: new主要作用是在内存中生成一个实例,而这个类可以没有提前加载到内从中: ...

  6. Java中Class.forName()用法和newInstance()方法详解

    1.Class.forName()主要功能 Class.forName(xxx.xx.xx)返回的是一个类, Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就 ...

  7. Day14_77_反射( newInstance() 方法)

    newInstance() 方法 * 通过反射获取class类型的对象之后,可以通过该对象创建所对应的class类型的对象 * newInstance() 用来创建Class获取的类所表示的一个新实例 ...

  8. java中new关键字和newInstance()方法有什么区别?

    1.new可以调用带参数的构造函数,newInstance不可以. 2.new 是 java 的关键字,用来构造一个类的实例.而 newInstance 是 Class 的一个方法,不过两个写法的效果 ...

  9. Java中new关键字和newInstance方法的区别

    在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法一个是关键字外,最主要的区别是创建对象的方式不同.newInstance()使用类加载机制,new是创建一 ...

随机推荐

  1. 安全漏洞XSS、CSRF、SQL注入以及DDOS攻击

    随着互联网的普及,网络安全变得越来越重要,程序员需要掌握最基本的web安全防范,下面列举一些常见的安全漏洞和对应的防御措施. 0x01: XSS漏洞 1.XSS简介 跨站脚本(cross site s ...

  2. mysql5.7同步复制报错1060故障处理

    mysql5.7同步复制报错故障处理 # 报错 1060,具体如下Last_Errno: 1060Last_Error: Coordinator stopped because there were ...

  3. visual studio制作代码片段

    使用 Visual Studio 的代码片段功能,我们可以快速根据已有模板创建出大量常用的代码出来.ReSharper 已经自带了一份非常好用的代码片段工具,不过使用 ReSharper 创建出来的代 ...

  4. Vue基础知识学习笔记

    一.环境搭建1.安装nodejs ((https://nodejs.org/en/)2.安装脚手架 npm install --global vue-cli /cnmp install --globa ...

  5. Python原生调试工具pdb实践小结

    使用python -m pdb xxx.py进入单步调试模式,默认会在脚本的第一行可执行命令处停止.此时,通过 b function设置之后的函数断点会提示出错,从出错异常栈中可以看出,pdb是将fu ...

  6. es查询示例

    1. 建立连接 from elasticsearch import Elasticsearch es = Elasticsearch(["localhost:9200"]) 2. ...

  7. 大数据 -- Hadoop集群环境搭建

    首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.它其实是将一个大文件分成若干块保存在不同服务器的多个节点中.通过联网 ...

  8. Linux CentOS7 下无图形界面安装Oracle11G R2版本

    01,系统 Centos7 数据库版本 Oracle_11gR2 ,以及硬件要求 内存不能小于 1G,可用硬盘不小于8G Swap分区空间不小于2G grep MemTotal /proc/memin ...

  9. 量化编程技术—itertools寻找最优参数

    # -*- coding: utf-8 -*- # @Date: 2017-08-26 # @Original: ''' 在量化数据处理中,经常使用itertools来完成数据的各种排列组合以寻找最优 ...

  10. 几个c++界面库的比较

    有些人说QT比MFC简单,QT封装得太好了,给初学者错觉,QT很简单.QT实现的功能比MFC更多(多到有些时候你觉得QT真TM啰唆,但是有时又体会到他啰唆得很强大很有柔性),显然比MFC代码更多,运行 ...