Java的反射机制一
Java具有一定的动态性,我们可以利用反射机制,字节码操作来获得类似动态语言的特性。
动态操作对象,构造方法,属性,方法
Demo2
如何取得属性和方法以及构造器
public class Demo2
{
public static void main()
{
String path = “class.jeeleaning.servlet.User”;
Class clazz = Class.forName(path);
//获取属性
Field[] fields = clazz.getDeclaredFields();
Field f = clazz.getDeclaredField("uname);
//获取方法
Method[] methods = clazz.getDeclaredMethods();
Method m =clazz.getDeclaredMethod(“getUname”,对应参数的类对象 :null,或Strin.class);
//构造器
Constructor[] constructors = clazz.getConstructors();
Construct c1 = clazz.getConstructor(对应参数的类对象和获取方法类似);
Demo3
通过反射API动态操作,属性,方法,构造器
public class Demo3
{
public static void main(String[] args)
{
Class clazz = class.forName(path);
//通过反射API调用构造方法,构造对象;
User u1 = clazz.newInstance();//调用无参数的构造器
//注意javabean中运用反射机制时,都需要定义一个无参数的构造器
Construct c = clazz.getDeclaredConstruct(String.class,int.class)
c.newInstance(“linminhao”,2);
//通过API调用方法
Method method = clazz.getDeclaredMethod(“setName”,String.class);
method.invoke(u1,“高企三”);
//通过API调用属性
Field f= clazz.getDeclaredField(“uname”);
f.set(u1,“高企四”);
Java的反射机制一的更多相关文章
- Java 类反射机制分析
Java 类反射机制分析 一.反射的概念及在Java中的类反射 反射主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.在计算机科学领域,反射是一类应用,它们能够自描述和自控制.这类应用通过某 ...
- java的反射机制
一.java的反射机制浅谈 最近研究java研究得很给力,主要以看博文为学习方式.以下是我对java的反射机制所产生的一些感悟,希望各位童鞋看到失误之处不吝指出.受到各位指教之处,如若让小生好好感动, ...
- Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别
一.Java的反射机制 每个Java程序执行前都必须经过编译.加载.连接.和初始化这几个阶段,后三个阶段如下图: 其中
- java笔记--反射机制之基础总结与详解
一.反射之实例化Class类的5种方式: java的数据类型可以分为两类,即引用类型和原始类型(即基本数据类型). 对于每种类型的对象,java虚拟机会实例化不可变的java.lang.Class对象 ...
- JAVA的反射机制学习笔记(二)
上次写JAVA的反射机制学习笔记(一)的时候,还是7月22号,这些天就瞎忙活了.自己的步伐全然被打乱了~不能继续被动下去.得又一次找到自己的节奏. 4.获取类的Constructor 通过反射机制得到 ...
- java笔录---反射机制(1)
引言 为了方便记忆java的反射机制,在这里仔细的总结了一下.主要是怕以后忘记了,这样也方便回忆.因为最近利用空余时间深入的了解spring和Mybatis框架, 像spring中核心模块IO ...
- Java高新技术 反射机制
Java高新技术 反射机制 知识概要: (1)反射的基石 (2)反射 (3)Constructor类 (4)Field类 (5)Method类 (6)用反射方 ...
- java的反射机制浅谈(转)
原文链接:java的反射机制浅谈 一.java的反射机制浅谈 1.何谓反射机制 根据网文,java中的反射机制可以如此定义: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性 ...
- 【转】Java利用反射机制访问私有化构造器
Java利用反射机制访问私有化构造器 博客分类: java 我们都知道,当一个类的构造方法被设为私有的时候(private),在其他类中是无法用new来实例化一个对象的. 但是有一种方法可以把带有 ...
- 【转】java原理—反射机制
一.什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语言 ...
随机推荐
- 1 理解Linux系统的“平均负载”
什么是平均负载 我们知道使用top或uptime可以用来了解系统的负载情况. uptime 2 02:34:03 up 2 days, 20:14, 1 user, load average: 0.6 ...
- TcaplusDB君 · 行业新闻汇编(5月25日)
TcaplusDB君一直密切关注着游戏行业和数据库行业的动态.以下是TcaplusDB君收集的近期的游戏行业和数据库行业的新闻,汇编整理,献给大家观看. (本篇文章部分内容来自网络) 第十一届中国数据 ...
- 【GIS风暴】30米分辨率地表覆盖数据GlobeLand30原始数据集简介及下载地址
数据集预览: GlobeLand30是30米空间分辨率全球地表覆盖数据,目前可供下载使用的有3年的数据:2000-2010-2020,本文主要讲述GlobeLand30的官网下载地址和数据集简介. 数 ...
- 基于Jira的运维发布平台的设计与实现
作者:乔克 公众号:运维开发故事 上线发布是运维的日常工作,常见的发布方式有: 手动发布 Jenkins发布平台 Gitlab CI ...... 除此之外还有需要开源软件,他们都有非常不错的发布管理 ...
- win7 32位系统 安装node.js最新版本遇到的问题
win7 32位是安装不了10.0以上版本的node.js的 ,因为10.0以上版本的node.js已经不对win7 32位的电脑进行维护更新了,如果你的电脑是win7 32位系统的话,只能下载安 ...
- GO学习-(39) 优雅地关机或重启
优雅地关机或重启 我们编写的Web项目部署之后,经常会因为需要进行配置变更或功能迭代而重启服务,单纯的kill -9 pid的方式会强制关闭进程,这样就会导致服务端当前正在处理的请求失败,那有没有更优 ...
- Jmeter——元件扩展,使其功能更全面
工具扩展 在之前的博文中,有介绍自定义函数.Java请求扩展,博文如下: Jmeter二次开发--基于Java请求 Jmeter二次开发--自定义函数 上述内容,是按自己的需要来进行针对性扩展,从而实 ...
- 干货:ANR日志分析全面解析
一.概述 解决ANR一直是Android 开发者需要掌握的重要技巧,一般从三个方面着手. 开发阶段:通过工具检查各个方法的耗时,卡顿情况,发现一处修改一处. 线上阶段:这个阶段主要依靠监控工具发现AN ...
- 三维视觉惯性SLAM的有效Schmidt-EKF
三维视觉惯性SLAM的有效Schmidt-EKF An Efficient Schmidt-EKF for 3D Visual-Inertial SLAM 论文地址: http://openaccess ...
- SpringCloud Alibaba实战(4:基本开发框架搭建)
在上一节,我们已经完成了项目的整体技术架构设计和具体的数据库设计,接下来,我们搭建整体的开发框架. 开发工具选用Idea. 开发工具只是为了提高效率,如果不习惯Idea的话,STS使用起来也是OK的. ...