[Java基础]反射获取构造方法并使用练习
Student类代码如下:
package ClassObjectPack;public class Student {private String name;int age;public String address;public Student(String name, int age, String address) {this.name = name;this.age = age;this.address = address;}public Student() {}private Student(String name) {this.name = name;}Student(String name, int age) {this.name = name;this.age = age;}private void function(){System.out.println("function");}public void method1(){System.out.println("method");}public void method2(String s){System.out.println("method:"+s);}public String method3(String s,int i){return s+","+i;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +", address='" + address + '\'' +'}';}
}
代码如下:
package ClassObjectPack01;import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;public class ReflectDemo01 {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {Class<?> c = Class.forName("ClassObjectPack.Student");// public Student(String name, int age, String address)//Constructor<T> getConstructor(类<?>... parameterTypes)//返回一个 Constructor对象,该对象反映 Constructor对象表示的类的指定的公共 类函数。Constructor<?> con = c.getConstructor(String.class, int.class, String.class);// T newInstance(Object... initargs)// 使用此 Constructor对象表示的构造函数,使用指定的初始化参数来创建和初始化构造函数的声明类的新实例。Object obj = con.newInstance("林青霞", 30, "西安");System.out.println(obj);}
}
测试结果:
代码如下:
package ClassObjectPack01;import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;public class ReflectDemo02 {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {Class<?> c = Class.forName("ClassObjectPack.Student");// private Student(String name)//Constructor<T> getConstructor(类<?>... parameterTypes)//返回一个 Constructor对象,该对象反映 Constructor对象表示的类的指定的公共 类函数。Constructor<?> con = c.getDeclaredConstructor(String.class);//我们无法通过私有构造创建对象
// Object obj = con.newInstance("林青霞");
// System.out.println(obj);//暴力反射//public void setAccessible (boolean flag):值为true,取消访问检查con.setAccessible(true);Object obj = con.newInstance("林青霞");System.out.println(obj);}
}
测试结果:
[Java基础]反射获取构造方法并使用练习相关推荐
- [Java基础]反射获取构造方法并使用
代码如下: package ClassObjectPack;import java.lang.annotation.Annotation; import java.lang.reflect.Const ...
- [Java基础]反射获取成员变量并使用
代码如下: package ClassObjectPack;public class Student {private String name;int age;public String addres ...
- [Java基础]反射获取成员方法并使用
代码如下: package ClassObjectPack01;import ClassObjectPack.Student;import java.lang.reflect.Constructor; ...
- [Java基础]反射获取成员方法并使用练习
代码如下: package ClassObjectPack;public class Student {private String name;int age;public String addres ...
- [Java基础]反射获取成员变量并使用练习
代码如下: package ClassObjectPack;public class Student {private String name;int age;public String addres ...
- Java反射获取构造方法
[通过反射获取构造方法并使用] 获取构造方法 public Constructor[] getConstructors():所有公共构造方法 public Constructor[] getDecla ...
- Java24-day15(完结)【反射(类加载器、反射)、反射获取构造方法-成员变量-成员方法、模块化(概述、模块基本使用、模块服务使用)】
视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...
- 反射获取构造方法并使用【应用】
Class类获取构造方法对象的方法 方法分类 方法名 说明 Constructor<?>[] getConstructors() 返回所有公共构造方法对象的数组 Constructor&l ...
- 反射获取构造方法并运行的快速的方式
package cn.learn.demo1; /** 反射获取构造方法并运行,有快捷点的方式* 有前提:* 被反射的类,必须具有空参数构造方法* 构造方法权限必须public*/ public cl ...
最新文章
- OpenCV之feature2d 模块. 2D特征框架(1)Harris 角点检测子 Shi-Tomasi角点检测子 定制化创建角点检测子 亚像素级的角点检测 特征点检测
- SAS对数据变量的处理
- 转载-C#委托之多播委托( 二)
- 搭建企业分支机构(单域多站点)虚拟网络之W2k3 (一) 初稿
- python字节码执行函数_做一个字节码追踪器,从内部理解 Python 的执行过程
- 已停止工作_致命伤开始凸显,国外部分网络收音机已停止工作,沦为鸡肋之物...
- C语言基础教程之如何定义变量
- Uva 10306 e-Coins
- TCP IP通讯三次握手四次挥手
- vue pinyin-match下拉框设置拼音模糊搜索
- 【keil5调试】warning:enumerated type mixed with another type
- 价值3888开源企业发卡网源码/全网对接/全新UI风格/完美运营
- 代谢组学数据分析的统计学方法综述
- php管理varnish,php实现监控varnish缓存服务器的状态,php监控varnish缓存_PHP教程
- access中dbs和dbms_DB、DBS、DBMS三者的关系是什么?
- jQuery文件导入
- Arduino语法详解,部分带注释(学习笔记)
- 2017 Google 开发者大会全记录
- 2020年高教社杯全国大学生数学建模竞赛赛题 C题分析与思路!(持续更新)
- python图片压缩pako_pako zlib
热门文章
- 【Envi风暴】基于ENVI平台提取ASTER DEM完整操作步骤(附案例数据)
- ArcGIS删除地图投影坐标,只保留地理坐标
- 解决点击MDI父窗体下拉菜单,子窗体重复出现的问题
- C语言试题八十二之输入小写字母,把小写字母转换成大写字母。
- (下)python3 selenium3 从框架实现代码学习selenium让你事半功倍
- Web程序员的Mysql进阶序一之sql使用分类及基础
- 【C语言简单说】十四:for循环
- deb php7 fileinfo,linux安装php7.2扩展fileinfo
- 用php写一个可以抽取随机数的工具一次只抽四个怎么实现?_面试了一个32岁的程序员,场面一度很尴尬。...
- 轮子一定要是圆的吗?