Java反射获取构造方法
【通过反射获取构造方法并使用】
获取构造方法
public Constructor[] getConstructors():所有公共构造方法
public Constructor[] getDeclaredConstructors():所有构造方法
① // 获取字节码文件对象
Class c = Class.forName("cn.iponkan.Person");
② Constructor[] cons = c.getDeclaredConstructors();
for (Constructor con : cons) {
System.out.println(con);//打印出Person类中所有的构造方法
}
获取单个构造方法
public Constructor<T> getConstructor(Class<?>... parameterTypes)
参数表示的是:你要获取的构造方法的构造参数个数及数据类型的class字节码文件对象
Constructor con = c.getConstructor();// 返回的是构造方法对象
创建对象
newInstance()
con.newInstance(“Hizi", 20);
public T newInstance(Object... initargs)
// 使用此 Constructor对象表示的构造方法来创建该构造方法的声明类的新实例,并用指定的初始化参数初始化该实例。
Object obj = con.newInstance();//调用Person类的无参构造方法创建Person对象obj
通过反射去获取该构造方法并使用
①// 获取字节码文件对象
Class c = Class.forName("cn.iponkan.Person");
②// 获取带参构造方法对象
// public Constructor<T> getConstructor(Class<?>... parameterTypes)
Constructor con = c.getConstructor(String.class, int.class,String.class);
③// 通过带参构造方法对象创建对象
// public T newInstance(Object... initargs)
Object obj = con.newInstance("Hizi", 22 "合肥 ");
System.out.println(obj);
通过反射获取私有构造方法并使用
①// 获取字节码文件对象
Class c = Class.forName("cn.iponkan.Person");
②// 获取私有构造方法对象
Constructor con = c.getDeclaredConstructor(String.class);
③// 用该私有构造方法创建对象
// IllegalAccessException:非法的访问异常。
// 暴力访问
con.setAccessible(true);// 值为true则指示反射的对象在使用时应该取消Java语言访问检查。
Object obj = con.newInstance("Hizi");
System.out.println(obj);
Java反射获取构造方法相关推荐
- Java24-day15(完结)【反射(类加载器、反射)、反射获取构造方法-成员变量-成员方法、模块化(概述、模块基本使用、模块服务使用)】
视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...
- java 反射获取父类的字段_java反射获取父类和子类字段值、赋值
这里将告诉您java反射获取父类和子类字段值.赋值,具体操作过程:java反射获取字段值.赋值 import org.springframework.util.ReflectionUtils; imp ...
- 反射获取构造方法并使用【应用】
Class类获取构造方法对象的方法 方法分类 方法名 说明 Constructor<?>[] getConstructors() 返回所有公共构造方法对象的数组 Constructor&l ...
- 反射获取构造方法并运行的快速的方式
package cn.learn.demo1; /** 反射获取构造方法并运行,有快捷点的方式* 有前提:* 被反射的类,必须具有空参数构造方法* 构造方法权限必须public*/ public cl ...
- java反射获取注解id,通过反射获取注解(Annotation)
以下实例,定义一个注解.通过反射获取. 主要功能:为所注解过的参数和方法附加一些信息可以获取. 定义注解. import java.lang.annotation.*; @Retention(Rete ...
- Java反射--获取类方法的泛型返回或泛型参数
Java反射--获取类方法的泛型返回或泛型参数 一.测试类 public class Test02 {public void parameterTest(Map<Integer, Dog> ...
- Android利用Java反射获取用户手机的rom定制系统及版本,EMUI,MIUI,ColorOS,FunthouchOS等
Android利用Java反射获取用户手机的rom定制系统版本及版本号,EMUI,MIUI,ColorOS,FunthouchOS等 前言 正文 结语 前言 现在手机厂商都推出了自己的基于Androi ...
- Java 反射 ---- 获取成员变量构造函数信息
这一章我们通过Java的反射获取某个类的成员变量构造函数信息,话不多说直接上代码. 先贴工具类获取类信息的方法: package com.blockChain;import java.lang.ref ...
- java 反射获取属性名和值_阿里P8架构师核心知识点整理:Java基础+spring原理+微服务+算法...
Java基础 5.1.1. JAVA 异常分类及处理 5.1.1.1. 概念 如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法.在这种情况下 会抛出一个封装了错误信息的对象.此时, ...
最新文章
- 通过JavaScript简单的操作DOM(一)
- 怎么发表论文能保证被收录
- c语言 二进制压缩算法_使用C ++解释的二进制搜索算法
- 计算机控制中mcu,MCU学习1:单片机控制应用很广,它在智能控制中起什么作用?...
- 又烧一辆!蔚来ES8车库夜里起火 两个半小时才熄灭:现场惨烈
- 一个程序段两个小问题
- (二):winelib用户手册1
- 10分钟掌握运输问题(一)
- 按键精灵服务器推送消息,按键精灵手机助手基础练习:自动发送消息
- appfabric 性能监视篇
- 极速信使【IOS最强大的局域网聊天软件】
- 超越阿里云,华为云服务器究竟有多厉害!
- 程序员工资真的很高么,月入几万的难道不是吹牛?
- updating mysql.pid_启动mysql ERROR! The server quit without updating PID file
- 远程唤醒WOL启动服务器或电脑
- android极光推送 消息穿透广告弹窗,极光推送弹出两次消息,请大佬们帮忙指点迷津...
- 重庆科技学院计算机考研资料汇总
- 成都新房二手房房价采集
- java获取double类型区间随机数
- Python深度学习十大核心算法!
热门文章
- 功略三国志9加强版战略刘备篇
- docker如何将镜像中的文件下载到本地
- linux 7.4安装gcc,在 Centos 7.4 上安装Gcc 7.3
- 从传统金融变身科技公司后,2017年的平安交了这样一份答卷
- 水星路由器登录界面找不到服务器,melogin.cn打不开的解决办法(水星路由器)
- 抛弃了wordpress
- 分析LogFilter
- [JavaWeb-04]HTML和CSS
- 【OpenMMLab AI实战营 学习笔记 DAY(四)-- 目标检测基础知识及评估方法】
- surface屏幕闪烁重影_如何解决surface重影surfacepro4屏幕抖动原因