反射-访问构造方法

Java反射——访问构造方法 反射 通过Java的反射机制,可以在程序中访问已经装载到JVM中的Java对象的描述,实现访问,检测和修改描述Java对象本身信息的功能。通过反射可以访问构造方法,成员变量,和成员方法。 访问构造方法 利用Constructor对象可以操纵相应的构造方法。 Constructor类中提供的常用方法: 方法 说明 isVarArgs() 查看该构造方法是否允许带有可变数量的参数,如... 阅读详情

创建一个类:

public class Example_01 {
	String s;
	int i,i2,i3;
	private Example_01(){
		
	}
	protected Example_01(String s,int i){
		this.s = s;
		this.i = i;
	}
	public Example_01(String...strings)throws NumberFormatException{
		if(0< strings.length)
			i = Integer.valueOf(strings[0]);
		if(0< strings.length)
			i2 = Integer.valueOf(strings[1]);
		if(0< strings.length)
			i3 = Integer.valueOf(strings[2]);
	}
	public void print(){
		System.out.println("s=" +s);
		System.out.println("i=" +i);
		System.out.println("i2=" +i2);
		System.out.println("i3=" +i3);
	}

}

编写测试类:

public class Text{
	
	public static void main(String args[]){
		Example_01 example = new Example_01();
		Class exampleC = example.getClass();
		Constructor[] declaredConstructors = exampleC.getDeclaredConstructors();
		for (int i = 0; i < declaredConstructors.length; i++) {
			Constructor constructor = declaredConstructors[i];
			System.out.println("查看是否允许带有可变数量的参数:" + constructor.isVarArgs());
			System.out.println("该构造方法的入口参数类型依次为:");
			Class[] parameterTypes = constructor.getParameterTypes();
			for (int j = 0; j < parameterTypes.length; j++) {
				System.out.println("" + parameterTypes[j]);
			}
			System.out.println("该构造方法可能抛出的异常类型为:");
			Class[] exceptionTypes = constructor.getExceptionTypes();
			for (int j = 0; j < exceptionTypes.length; j++) {
				System.out.println("" + exceptionTypes[j]);
			}
			Example_01 example2 = null;
			while (example2 == null) {
				try {
					if(i== 2){
						example2 = (Example_01)constructor.newInstance();
					}else if(i == 1){
						example2 = (Example_01)constructor.newInstance("7",5);
					}else{
						Object[] parameters = new Object[]{new String[]{"100","200","300"}};
						example2 = (Example_01) constructor.newInstance(parameters);
					}
				} catch (Exception e) {
					e.printStackTrace();
					System.out.println("在创建对象时抛出异常,下面执行setAccessible()方法");
					constructor.setAccessible(true);
				}
			}
			example2.print();
			System.out.println();
		}
	}
}

输出效果:


【反射机制】Java中的反射机制,使用反射机制创建对象、访问属性、方法、构造方法等 这篇文章主要是整理了Java中的反射机制,包括:反射机制概念、反射机制访问构造方法、反射机制访问普通方法、反射机制访问属性,反射机制访问修饰符。 文章包含的源代码地址如下: 这里写Gitee源代码地址 一、反射机制概念 二、反射机制使用 (1)加载 ... 阅读详情

相关推荐

Java新手入门200例116之Java反射访问构造方法

文章目录作者简介引言导航热门专栏推荐创建一个实例类Student获取所有的构造方法获取构造方法的参数类型和个数根据构造方法来创建实例对象小结导航热门专栏推荐 作者简介 作者名:编程界明世隐 简介:优快云博客专家,从事软件开发多年,精通Java、JavaScript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞! 引言 很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何

编程界明世隐的博客 536

Java反射:Class类的使用

通过Java反射机制,可以在程序中访问已经转载到JVM中的Java对象的描述,实现访问、检测和修改描述Java对象本身信息的功能。Java反射机制的功能十分强大,在java.lang.reflect包中提供了对该功能的支持。 所有Java类均继承了Object类,在Object类中定义了一个getClass()方法,该方法返回一个类型为Class的对象。 JTextField textFie...

pan_junbiao的博客 4467

大华/华睿工业相机(摄像头)链接电脑,并用OpenCV打开

睿科是大华旗下机器视觉子公司,现在工业相机一般是华睿在产,要下载驱动程序,要到华睿官网哪里下载。由于我的电脑没有摄像头,所以摄像头序列化为0,电脑的第一个摄像头默认为0,序列号是0,1,2,3……,你是什么接口连接的就选择什么, 建议直接全选。我这里选择第二个,下载后点击安装,的你要点击识别右侧设置,设置。这个过程很简单,故不赘述。打开你的设备会在右边显示。

qq_48050838的博客 1万+

JAVA零基础入门教程

本视频教程是作者经过多年Java开发和授课经验的沉淀,以及当前高频面试热点问题,录制的全套java基础教程。内容舍弃了冗长的理论,结合软件公司一个个真实的应用需求,来加强大家对知识的理解和掌握,内容涉及JavaSE方方面面,融入数据结构,设计模式,JVM等。

统信UOS系统盘扩容保姆级教程:用GParten-分区编辑器5分钟搞定

本文提供统信UOS系统盘扩容的详细图形化教程。针对系统盘空间不足问题,重点介绍如何使用系统自带的GParten-分区编辑器,在5-10分钟内安全、直观地完成扩容操作,无需记忆复杂命令,适合所有用户快速解决存储空间告急的困扰。

e3f4g5的博客 645

麒麟 ARMv10 SP3 安装 Oracle 19c 官方文档 或 教程

在麒麟ARMv10 SP3系统上安装Oracle 19c需要特别注意架构兼容性。

qq_43032338的博客 2941

十一、java访问构造方法、成员变量以及成员方法(Constructor类)

一:访问构造方法: import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Modifier; public class demo1 { public static void main(String[] args) { try { Class c=Class.forName("example1"); ..

weixin_62190821的博客 688

【IPC】ONVIF Device Manager 测试工具

介绍onvif 协议测试工具

以实战经验介绍行业知识 1963

【JavaSE】类和对象 【this引用和构造方法】(二)

this.属性名通过this关键字可以明确访问一个类的成员变量,解决成员变量与局部变量名称的冲突问题。}当一个类的属性(成员变量)名与访问该属性的方法参数名相同时,则需要使用this关键字来访问类中的属性,以区分类的属性和方法中的参数。

m0_73067372的博客 925

Roboguide与TIA V16通讯

Roboguide与TIA V16通讯

haier123888的博客 2676

【WRFDA教程第四期】雷达数据同化(Radar Data Assimilation)

雷达数据同化(Radar Data Assimilation)

WW、forever的博客 1761

访问构造方法

其实各个书上对于反射这块讲的都是很乱,看了几个大神博主的帖子之后顺序自己弄清了很多。 首先要介绍几种访问构造方法的方法,利用这种方法,将返回Constructor类型的对象或者数组 A.1:获取构造方法的数组:  public Constructor&lt;?&gt;[] getConstructors():获得所有公共构造方法     public Constructor&lt;?&g...

gaoweiyuan1996的博客 618

企业数字化建设之——品牌零售全渠道运营中台解决方案

OMS审单 --> 订单进入OMS待发货列表区域 --> 备货(线下)-->拣货((线下 )-->质检(线下)--> 包装(线下)--> 快递员取货(线下)(物品 + 客户收货地址清单 )--> 快递员发货(2.2.5 正常退货,客户发起 --> 客服助理审核 --> 评审组 --> ( 货物运输 ) -->质检 ->仓库收货入 正常仓库 -->财务退款,记账。OMS审单 --> 订单进入物流公司系统(如:*丰),--> 快递员发货 --> 物流状态同步OMS --> OMS同步物流状态到销售平台。

java_zhong1990的专栏 612

访问构造方法(反射)

Java的反射机制可以实现访问、检测和修改Java对象本身信息的功能,在java.lang.reflect包下提供此功能。可以使程序员更加深入地控制程序的运行过程。可以理解为随时调用某个类的某个构造方法,成员方法,属性。以上就是今天要讲的内容,本文仅仅简单介绍了访问构造方法的使用,而反射提供了大量能使我们快速便捷地处理数据的函数和方法,指正的内容欢迎在评论区中留言。

weixin_74141222的博客 1121

【U-Net 数据集制作】如何制作自己的图像分割数据集?(标注与格式转换),图像分割数据集制作与转换神器

在前面的课程中,我们像搭积木一样手写了 U-Net 的网络架构。很多同学迫不及待地想把自己的图片喂进网络开始“炼丹”。但是,深度学习界有一句名言:“数据决定了模型的上限,而网络结构只是在逼近这个上限。用标注工具标出来的是 JSON 文件,怎么变成 U-Net 需要的黑白掩码(Mask)图?为什么我的 Mask 肉眼看是黑白的,一放进 PyTorch 训练就报?如何快速按 8:2 的比例把几千张图片和标签划分成训练集和验证集?

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 195

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Java通过反射访问构造方法

为了能够动态获取对象构造方法的信息,首先需要通过下列方法之一创建一个 Constructor 类型的对象或者数组。 getConstructors() getConstructor(Class<?>…parameterTypes) getDeclaredConstructors() getDeclaredConstructor(Class<?>...pa...

weixin_45743799的博客 428

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

反射访问构造方法

public class buttoncla{     String s;   int i,i2,i3;   private buttoncla(){}    protected buttoncla(String s,int i) {   this.s=s;   this.i=i;  }  public buttoncla(String...strings) throws N

daijunyiluoshiyong的博客 276

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Java反射-访问构造方法

package zhao; public class Example { int id; String name; double price; public Example() { super(); } public Example(int id) { super(); this.id = id; } private Example(int id, String name, double price) { super(); this.id = id; th...

赵平安 164

java通过反射访问(私有)构造方法(创建对象)

//首先我们创建一个Person类,有一个有参构造方法和一个无参构造方法 Person{ private String name; private int age; Person(){} Person(String name,int age){ this.name = name; this.age = age; ...省略getter和setter } } //这里的参数是Person所处在的包 Class <Person> pClass = (C

weixin_43908469的博客 1933

Java之反射:Class类、调用构造方法、访问字段、访问方法

Reflection

HakerDONG的博客 1174

Java反射 1-1访问构造方法

Java反射 1-1访问构造方法 思路如下: 创建Class类对象,以获得constructor[ ] 循环或流访问每一个构造方法:获得修饰符、异常信息类型、入口参数类型 如果是if i==2,此时构造方法修饰符是private,需要用setAccessible方法绕过系统权限,根据constructor1.newinstance()创建对象。 Class exampleC=Example01.class;//先获得Example01对应的Class类 //获得所有构造方法

weixin_46858414的博客 134

通过反射访问构造方法

Main_01.java package ReflectOfConstructor; import java.lang.reflect.*; public class Main_01 { public static void main(String[] args) { //实例化Examle_01对象 System.out.println("101..."); // Ex

小草房童鞋 1153

JAVA中通过反射机制去访问字节码文件中的属性,方法,构造方法

反射机制访问方法,构造方法,属性

weixin_65363103的博客 545

反射知识1-访问构造方法

今天在家,突然想到了老师讲课没有讲到过反射机制,这是JDK1.5加入的新功能,通过反射,可以在程序中访问已经装载到JVM里的java对象描述,实现访问、检测和修改java对象本身信息的功能. 先列出来我下面写的这个小例子用到的方法 getClass():返回此 类 的运行时类 getDeclaredConstructors():获得构造方法,返回Constructor[] isVarArg...

xueqi's blog 199

通过反射访问构造方法(学习笔记)

首先先来看一下反射的概念 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。 简言之就是通过反射机制,程序在运行时能够获取自身的信息并且修改;而且是类中有什么信息,它就可以获得什么信息,不过前提是得知道类的名字,要不就没有后文了 接下来我们分别来看一下反射机制可以访问到的主要描述信息和具体用法吧 首先我们

欢迎来到李奇峰的数据世界 570

利用java的反射机制来访问类中的私有成员变量,私有构造方法,私有方法

  1. 准备一个演示类     package my; public class Data { private static int data; private String name; private Data(){ } private Data(int data,String name){ this.data = data; this.nam...

lanjiasheng的专栏 802
上一篇: Java HashMap中在resize()时候的rehash,即再哈希法的理解
下一篇: 反射 访问成员变量
ole_triangle_java
博客等级 码龄10年 82粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值