Java反射学习

1014. 福尔摩斯的约会 (20)-PAT乙级真题 1014. 福尔摩斯的约会 (20) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2对相同的字符是’ 阅读详情

①:学习参考资料: http://www.imooc.com/learn/199 

②:

一切都是对象 

所以的类是 Class的对象,方法是 Method 的对象

③:

//获取类的类类型的三种方法

Class c = Foo.class;

Foo foo1 = new Foo();
Class c = foo1.getClass();

Class c = Class.forName("com.example.reflect.Foo");

④:

获取类的信息:

	public static void printClassMethodMessage(Object obj ) {
		Class c = obj.getClass();	//获得该类的类类型
		System.out.println("类的名称是-->"+c.getName() );
		//获取所有方法
		Method[] method = c.getMethods();	//方法是Method的对象
		for(int i=0; i<method.length; i++ ) {
			//获取返回类型
			Class returnType = method[i].getReturnType();
			System.out.print(returnType.getName() + " ");
			//获取方法名
			System.out.print(method[i].getName());
			System.out.print("(");
			//获取参数
			Class[] paras = method[i].getParameterTypes();
			for (Class para1 : paras) {
				System.out.print(para1.getName() + ",");
			}
			System.out.println(")");
		}
		System.out.println();
	}
	
	public static void printFieldMessage(Object obj ) {
		Class c = obj.getClass();
//		Field[] field = c.getFields();
		Field[] field = c.getDeclaredFields();
		for(int i=0; i<field.length; i++ ) {
			Class type = field[i].getType();
			System.out.print(type.getName() + " ");
			System.out.println(field[i].getName());
		}
	}
	
	public static void getConsductMessage(Object obj ) {
		
	}

⑤:

方法的反射执行:

public class ReflectDemoTest {
	public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
		Class c = A.class;
		Method m1 = c.getMethod("print", int.class, int.class );
		m1.invoke(new A(), 10, 30);
		
		System.out.println("==============================");
		//泛型检测只对编译时有效,运行时无效。
		//通过反射绕过泛型
		List<String> list = new ArrayList<>();
		list.add("abc");
		//list.add(12);	无效
		try {
			Class c1 = list.getClass();
			Method method = c1.getMethod("add", Object.class);
			method.invoke(list, 12);
			System.out.println(list);
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
}

class A {
	public void print(int a, int b ) {
		System.out.println(a+b);
	}
	
	public void print(String a, String b) {
		System.out.println(a + " " + b);
	}
}


ssm框架搭建 这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载 立即下载

相关推荐

FPGA之全数字锁相环(DPLL)

1. 数字锁相环的基本原理和组成 1.1 锁相环(PLL)的简介 锁相环最开始并不是用在数字电路中,而是模拟短路中。对于模拟电路中的锁相环,大家可以参考这篇文章稍微看一下,数字和模拟只是实现的方法不同,但是原理、步骤还是共同的。关于模拟PLL。可以参考一片文章: http://www.sohu.com/a/190569594_464086 首先在学习数字锁相环之前,我们应该先了解什么是锁相环?锁相...

DBLLLLLLLL的博客 5万+

java反射学习 (一)

java反射学习笔记 (一) 反射入门在方法区存在这么一些对象,叫做类对象,他们表述了我们写的所有的类,当我们new对象时会根据这些类对象,并调用其构造方法为我们创建实例。 JAVA反射机制是在运行状态中,对于任意—个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 简单的说:个类有多个组成部分,例如:成员变量,方法,构造方法等。反射就是加载类,并解剖出类的各个组成部分。 I Java反射机制

weixin_42230953的博客 226

新手也能懂的Simulink汽车二自由度建模:从公式推导到模型搭建全流程

本文为新手提供了在Simulink中搭建汽车二自由度模型的完整实战指南。文章从模型核心概念讲起,详细讲解了如何将车辆动力学方程转化为状态空间模型,并逐步指导在Simulink中实现从参数设置、模块搭建到仿真验证的全过程。通过阶跃转向测试和参数影响分析,帮助读者直观理解车辆转向特性,并提供了实用的模型扩展思路与常见问题排查技巧。

weixin_29047919的博客 213

Java注解和反射学习汇总(已完结)

Java注解和反射(一)注解的学习和理解 Java注解和反射(二)Calss对象 . . 未完待续!!!!! 写作不易,如果您觉得写的不错,欢迎给博主点赞、收藏、评论、收藏来一波~让博主更有动力吧! 路漫漫其修远兮,吾必将上下求索~ ...

大鱼的博客 1万+

从零搭建宝兰德BES单机版:分离式安装、环境变量配置到控制台访问的避坑指南

本文详细介绍了从零搭建宝兰德BES单机版的完整流程,包括分离式安装、环境变量配置和控制台访问的避坑指南。针对中间件安装部署中的常见问题,提供了账号规划、JDK配置、实例创建和防火墙设置等实用解决方案,帮助开发者和运维人员高效完成BES中间件的部署工作。

weixin_32576389的博客 371

硅光芯片边耦合器综述(一)

摘要:硅光子学在过去几十年间吸引了越来越多的关注,由于其具有诸多优点,如极低的成本、硅的高折射率带来的高集成密度,以及与现有半导体制造工艺的兼容性,被认为是未来日常应用中的一项充满前景的关键技术。在硅光子集成电路中,光互连是一个重要的问题,而在数据中心和光传输系统等应用场景中,光纤到芯片的光互连至关重要。光纤到芯片的光学耦合主要分为两大类:面外耦合(off-plane coupling)和面内耦合(in-plane coupling)。光栅耦合器属于前者,而边耦合器则属于面内耦合。本文主要关注硅光子集成电路

jhbfsoagoodgio的博客 5040

java学习总结一、反射

反射(Reflection)指在编译的时候不需要确定数据的类型,而是延迟到运行时获取类的信息(如类名、方法名、字段名)、调用类的方法、访问或修改类的字段,而无需在编译时确定这些信息,反射使Java这种静态编译型的语言具有了动态性。反射具有看透类的能力,类的信息在反射面前都是透明的(包括private的属性和方法都是可以调用)Java 的反射机制主要由 java.lang.reflect 包提供支持,包括 Class 类、Method 类、Field 类等。

weixin_63618344的博客 820

对比实验系列:Efficientdet环境配置及训练个人数据集

可以通过下方链接下载Efficientdet源码。

Yayisheng的博客 4585

一起学JAVA 反射学习(超详细)

Java架构学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

ssdrrg的博客 1008

手把手教你设计T型和Π型衰减器:从分贝计算到电阻选型全攻略

本文提供了一份T型和Π型衰减器的详细设计指南,涵盖从分贝计算到电阻选型的全过程。文章以50欧姆系统为例,通过公式推导和实例演示,手把手教你计算两种经典拓扑的电阻值,并深入探讨了电阻选型、误差控制及高频应用等关键实践技巧,帮助工程师和爱好者精准实现信号衰减与阻抗匹配。

blue42的博客 1333

如何用IDEA查看jar包中代码

我们在使用Java进行开放时经常会需要下载些第三方的jar包进行相应的开发。有时候相关jar包的使用文档不足,满足不了我们的特定开发使用要求,这就需要我们查看jar包内的相关代码逻辑,本文将基于IDEA工具介绍如何查看相关jar包的代码逻辑

mystonelxj的博客 2280

java反射学习

这篇文章记录对于反射的理解以及学习的过程。会随时修改,不断修改,直到真正掌握了反射。 20191218: 今天对反射的作用存在疑惑,在一个例子中,为什么知道了类名,方法名那个,需要用反射?为什么运行时需要一个类,为什么它没有被加载到内存?小伙伴推荐我看《深入理解Java虚拟机》,好的,周五去图书馆借来看看。 附一个今天看的很好的内容:https://www.ji...

u010571479的博客 194

从零到一,打造你的无人机侦察兵!树莓派+Python+MQTT,实时目标检测全攻略

物联网、人工智能与计算机视觉三大前沿技术的深度融合。

u013558123的博客 1473

学习Java——反射

无人问津也好,技不如人也罢,你都要试着安静下来,做自己该做的事情,而不是让烦恼和焦虑毁掉你本就不多的热情和定力,心可以碎,手不能停,该干什么干什么,在崩溃中继续进行,这才是一个成年人的素养

L170311的博客 1533

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java学习笔记15——反射机制

2、声明榨汁机(Juicer),包含运行方法:public void run(Fruit f),方法体中,调用f的榨汁方法squeeze()4.(了解)反射的应用4:通过反射获取注解的信息(见com.atguigu04.other.annotation包的测试)> 因为反射体现了动态性(可以在运行时动态的获取对象所属的类,动态的调用相关的方法),所以我们在设计框架的时候,> 从我们作为程序员开发者的角度来讲,我们开发中主要是完成业务代码,对于相关的对象、方法的调用都是确定的。

qq_58956810的博客 754

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java反射_Java中反射学习系列教程之一

在上一个系列教程-《Java中注解学习系列教程》中解析自定义注解的时候用到了Java中一种技术--反射。其实在很多源码中,我们都能看到反射的身影。那么什么是反射?为什么要用反射?反射都有哪些常用API?从本文开始我们将系统的介绍Java中反射技术。Java反射学习系列教程主要内容:​本文主要内容:一:什么是反射?二:反射的特点是什么?一:Java中反射是什么反射中的反怎么理解既然有反射及反着来,那...

weixin_39896256的博客 59

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java反射 -- 学习记录

注解定义@FieldName:用于映射实体类字段与VO类字段之间的关系。如果某个字段需要映射到VO中不同的字段名,则可以通过@FieldName("目标字段名")指定。@ClassType:用于指定实体类的目标VO类。参数:定义目标VO类。参数deepCopy:是否对嵌套对象进行深度封装。实体类到VO的转换提供了两个核心方法::主入口方法,负责从实体类对象生成对应的 VO 对象。:递归处理实体类字段,并生成目标类对象。字段值设置方法:负责将计算后的字段值设置到目标VO对象中。

mocoll的博客 892

Java反射学习系列【转】

Java反射学习系列

kermit的博客 269

java反射机制学习

java反射机制(java Reflection)//本文章是自己的学习之后随手留下的一个笔记,可以用于快速了解java反射,一些细节内容未进行罗列首先说反射(reflection)反射是动态语言的关键,他允许程序在执行期间通过对应的API来,而且可以。在类加载完之后就会生成对应一个包含完整的类的结构信息的class对象,通过这个对象,我们可以像镜子反射一样来回去对应的类的信息,所以我们讲他称之为反射。

2301_79843987的博客 1039

Java学习-异常-反射

在大型项目中可以定义一个根异常,从runtimeexception 派生;自定义异常时,应该提供多种构造方法。!!!!

m0_52533650的博客 1018

Java反射学习笔记

文章目录一、反射是什么?二、利用反射动态创建对象1.获取class对象的三种方式2.动态创建对象三、利用反射调用方法四、动态操作属性五、应用场景总结 一、反射是什么? Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 二、利用反射动态创建对象 实体类Animal public class Animal { private String na

一只小菜鸡 279

Java学习之反射

反射 作用: 把一个对象的成员变量、构造方法、成员函数(方法)转换为对象,然后进行动态调用。反射是框架设计的“灵魂”技术! 注意: 代码对象从创建到产生结果的过程中,要经历过编译,加载,运行,三个阶段。 编译:将 .Java 文件转换为字节码 .class 文件。(此时代码还存在于硬盘中) 加载:将 .class 文件加载到内存中,以便编辑器进行操作。 运行:使内存中的代码产生结果。 类加载器:...

bernardGao94的博客 100

【Java学习笔记】基础加强之反射

本文是在学习了刘意老师的Java基础视频之后,写出的学习笔记。 1.类的加载 当程序要使用某个类时,如果该类还没有被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 2.类加载器 负责将.class文件加载到内存中,并为之生成对应的Class对象。 3.反射 通过class文件对象,使用该文件中的成员变量、构造方法、成员方法。 4.反射的原理 首先需要把j...

我们仨 209

JAVA基础:反射 (学习笔记)

获得字节码文件对象的方式 , 如何获得构造方法,如何通过构造创建对象 , 如何获得属性,如何为属性赋值 , 如何获得方法,如何调用方法。

2301_81819439的博客 1258

java学习:反射

java学习:反射1.通过反射使用一个类2.反射:获取类构造方法:并使用:3.反射:获取构造方法并使用案例4.反射:获取成员变量并使用: 1.通过反射使用一个类 获取Class对象: Class c1=student.class; c1:就是student类的对象 返回值:class com.cn.student// student类的包名 student s=new student(); Class<?extends student> c3=s.getClass();//也是 Class&

qq_51813155的博客 251

Java第4章面对对象—— 反射学习

标题:Java第4章面对对象—— 反射学习 程序和资料课件:点击进入

wllwxl的博客 90
上一篇: QQ5.0主界面实现
下一篇: Handler学习
xiongmaozhijin
博客等级 码龄15年 4粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值