Java反射机制——获取Class对象,属性和方法(三)

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

一、获取Class类的对象,属性、调用类方法。

package org.wangkeqing;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class Student1 {
	
	private int age;
	private String name;
	
	public Student1(int age, String name) {
		super();
		this.age = age;
		this.name = name;
	}

	public Student1() {}
	
	public int getAge() {
		return age;
	}
	public String getName() {
		return name;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	public static void main(String[] args) throws Exception{
		Class<?> class1 = Class.forName("org.wangkeqing.Student1");
		Field[] fields = class1.getDeclaredFields();
		Method[] methods = class1.getDeclaredMethods();     //得到类本身的所有方法
		for(Field f:fields){
			System.out.println("---------------------------属性"+f);
		}
		System.out.println("------------------分割线--------------------");
		for(Method m:methods){
			System.out.println("---------------------------方法"+m);
		}
		//调用无参方法
		//得到Student1类的方法,第一个参数到最后一个参数都是方法对应的参数类型
		Method method = class1.getMethod("reflect1");
		//调用方法(第一个参数为对象,第二个参数到最后一个参数为方法属性值)
		method.invoke(class1.newInstance());
		//调用有参数的方法
		//得到某个类的方法
		Method m2 = class1.getMethod("learn",String.class,String.class);
		//调用方法(第一个参数为对象,第二个参数到最后一个参数为方法属性值)
		m2.invoke(class1.newInstance(),"张三","商务英语");		
	}
	
	public void learn(String name,String bookname) {
		System.out.println(name+"学习了"+bookname);
	}
	
	public void reflect1() {
		System.out.println("-----------------调用了这个方法-----------");
	}
}

二、注意这两种方法区别。

getDeclaredMethods():获取的是类自身声明的所有方法,包含public、protected和private方法。

getMethods():获取的是类的所有共有方法,这就包括自身的所有public方法,和从基类继承的、从接口实现的所有public方法。


Java反射获取class对象方式解析 主要介绍了Java反射获取class对象方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 立即下载

相关推荐

nbiot和2g_浅谈NBIOT

一、什么是NBIOT?1、概念窄带物联网(Narrow Band Internet of Things, NB-IoT),NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,使用License频段,可采取带内、保护带或独立载波等三种部署方式,与现有网络共存。可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。2、NBIOT的特点和目标(1)超强覆盖:相对GPRS来...

weixin_39534100的博客 1704

反射获取Class对象以及调用类的属性和方法

学习并验证获取Class对象的三种方法,以及学习如何通过Class对象来调用类的属性和方法。

Stylite 844

AI 边缘计算控制器GEAC91

AI 边缘计算控制器GEAC91是AI边缘计算控制器是一款基于 NVIDIA Jetson AGX Xavier处理 器、面向智能边缘计算应用场景的解决方案。

weixin_45905610的博客 1200

Java基础24--反射的应用2&3:动态创建对象&动态的设置或获取属性的值

Java基础24–反射的应用2 反射的应用2:动态创建对象 2:在运行时能够创建任意引用数据类型的对象** 方式一:使用Class对象直接new对象 步骤: (1)获取某个类型的Class对象 (2)通过Class对象来创建这个Class所代表的类型的对象 @Test public void test01() throws ClassNotFoundException, InstantiationException, IllegalAccessException{ //(1)获取某个类型的Clas

renVictory的博客 282

智能问数系统的完整技术栈与实现逻辑

提取并增强数据库 Schema(含业务语义)选择 LLM(开源 qwen2 / 商业 GPT-4o)构建 RAG 向量库(存储历史问法)实现 SQL 安全校验与权限控制添加结果自然语言解释 + 可视化部署到只读数据库环境🔑核心原则“先保证安全,再追求智能”—— 一个能生成错误 SQL 的智能问数系统,比没有更危险。

我们的征途是星辰大海 1630

【FDTD运行引擎错误解决方法】

我用的是2024R1版的FDTD,第一次安装好的时候点“RUN”可以正常运行,后来不知道什么问题就无法运行了。我从网上找相关的解决办法,并未找到,将软件卸载重装,重启等方法都没有解决,后来在官网按照提示解决了,我把官网提供的方式和我的情况相结合,提供一个解决方式。提示:以下是本篇文章正文内容,下面案例可供参考最后说一下两个MPI和Local computer(不使用MPI)的区别使用MPI进行仿真可以显著提高计算速度和效率,特别是对于大规模和复杂的仿真任务,但需要额外的设置和配置。(多线程并行计算)

m0_57410975的博客 8176

java获取实体类的属性和值

package com.jackie.day11;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Date;/** * Java通过实例得到实体类中的属性和方法 * @author Ad...

fei7837226的博客 1万+

双轮差动机器人SLAM实战:轮速里程计从建模到精度验证(附Matlab代码)

本文详细介绍了双轮差动机器人SLAM系统中轮速里程计的实现全流程,包括核心原理、建模方法、Matlab代码实现及精度验证。通过轮速仪数据建模和连续积分算法,提升定位精度,并附有完整的误差分析和工程优化技巧,为开发者提供实用参考。

weixin_29050271的博客 224

Java反射机制(详解)——获取class的三种方式

Java中,反射是一种强大的工具。在反射机制中,Class是一个非常重要的类,那么如何才能获取Class类呢?总共有以下三种方法可以获取 1)Class.forName("类的路径") 2)类名.Class 3)实例.getClass()

Best_Basic的博客 3039

Unity 工具 之 SoftMask软遮罩 实现 UI 边缘渐变过渡的简单使用介绍

目录Unity 工具 之 SoftMask软遮罩 实现 UI 边缘渐变过渡的简单使用介绍一、简单介绍二、Mask 实现的遮罩效果三、Soft Mask 实现遮罩效果四、 Soft Mask 的一些设置五、插件下载Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。

仙魁XAN 8575

实战篇| app爬虫不用真机

之前写过一篇基于真机app爬虫《App爬虫实战篇-以华为真机手机爬取集换社的app为例》,如果大家有用真机爬虫的经历,会深刻认识到真的不方便,一是自己的手机,经常会被电话、微信等打断,二是闲置手机,面对小批量数据还能勉强,大批量爬虫,会导致成本指数级上升,并且控制起来相对麻烦。以下就是常见的模拟器。emulator -avd my_avd -no-snapshot-save # 启动时不保存 snapshot。emulator -avd my_avd -wipe-data # 清除数据(恢复到出厂)

youbingchen的博客 597

java反射机制原理、获取Class方式和其应用场景

在运行时,当我们使用反射来获取类的信息时,实际上是通过读取和解析.class文件来获取类的结构信息。需要注意的是,虽然反射提供了一种强大的机制来操作类的成员,但过度使用反射可能会导致性能下降和代码可读性降低。通过反射,可以动态地读取配置文件中的类名、字段和方法,并在运行时创建相应的对象。通过反射,可以在运行时创建代理对象,并在代理对象的方法调用前后执行额外的逻辑,例如日志记录、性能监控等。应用程序可以在运行时加载和卸载插件,通过反射调用插件中定义的方法,实现动态扩展功能。在Java中通常存储在。

qq_64680177的博客 631

实现两端固支梁热力耦合的有限元分析

在本文中,我们将使用Matlab实现两端固支梁的热力耦合有限元分析。我们假设梁的材料是均匀的,梁的截面积为1,长度为1,两端固支,且受到均匀分布的热荷载。接下来,我们需要组装全局刚度矩阵和热传导矩阵。对于两个相邻的元素,它们共享一个节点,因此需要使用连接矩阵将局部矩阵组装成全局矩阵。接下来,我们需要定义元素刚度矩阵和热传导矩阵。然后,我们需要定义载荷向量。然后,我们需要定义边界条件。在这个例子中,梁的两端固支,因此我们需要将两端节点的位移限制为0。最后,我们需要解决线性方程组,得到节点的位移和温度分布。

CyberSparkZ的博客 396

Java中的反射(1)——Class类、访问字段、调用方法

反射提供了在运行时获取类的字段信息并对其进行操作的能力,包括对私有字段的读取和修改。机制是一种强大的工具,它允许程序在运行时动态地检查类的结构、修改对象的属性或调用方法。反射可以打破封装,从而访问类的私有字段或方法,甚至可以在不提前知道类或方法的情况下,动态创建对象并调用它们。类提供了一系列方法来操作类的方法,如调用方法(包括私有方法)、获取方法的参数类型和返回类型等。对象可以获取类的构造方法、字段和方法,分别对应构造类、字段操作、方法调用的需求。类,我们可以获取类中声明的某个方法,并使用反射动态调用它。

m0_53926113的博客 1332

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Java之反射机制(获取Class对象的三种方式)

Java之反射机制(获取Class对象的三种方式) 开发工具与关键技术:MyEclipse 10,java 撰写时间:2019-06-14 如何得到各个字节码对应的实例对象? 每个类被加载后,系统会为该类生成对应的 Class对象,通过 Class 对象可以访问到 JVM 中 的这个类, 3种方式: 1、调用某个类的class 属性获取 Class 对象,如 Date.class 会返回 Date...

weixin_44538423的博客 7392

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Java~反射机制、获取Class的三种方式、利用反射获取字段、方法、创建对象

文章目录反射机制获取Class的三种方式利用反射实例化对象Class.forName方法反射获取Field反编译Field利用反射访问类字段插入知识点:可变长参数使用反射机制来调用方法使用反射创建对象 反射机制 反射机制有什么用? 通过Java语言中的反射机制可以操作字节码文件 有点类似于黑客,可以读和修改字节码文件 通过反射机制可以操作代码片段( class文件) 反射机制的相关类在哪个包下? java.lang.reflect.*; 反射机制相关的类有哪些? java.lang.Class

zxc的博客 4252

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Java反射(1)-通过反射获取使用Class对象、方法、属性

Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。 反射非常强大,JDBC以及主流的框架如Spring、Mybatis等等都使用到了反射机制,可以说只要使用Java,反射无处不在。本文详细介绍如何使用反射获取到Class对象,类的方法和属性。 1.Class对象 Class对象包括一个类的方法、变量、接口、类名、类修饰符等等信息,获取Class对象有三种方法。 .

weixin_44259244的博客 6914

注解与反射 02:Java 反射机制概述,Class 的相关知识,Class 与 class 的区分,以及获取 Class 对象的几种方法

本文讲述 Java 反射机制,从静态 VS 动态语言入手,介绍 Java 的“准动态性”,引出了起关键作用的——反射机制。包括反射机制的基本概念、提供的功能、优缺点等。同时,文章还对 Class 进行了详细的介绍,包括 Class 的相关概念、常用方法,以及如何获取 Class 对象等。此外,针对一些容易混淆的概念,笔者阐述了自己的理解与想法。例如,区分 Class 与 class,区分类的对象与 Class 对象,以及类与对象的关系等。

积累,沉淀,温故而知新 1030

java反射机制是什么?Class有什么特点?怎么获取Class类实例?

文章目录一、什么是java反射机制?二、Class类有什么特点?1.Class的特点 一、什么是java反射机制? Java反射机制是在运行状态中,对于任何一个类我们都可以调用其中的属性和方法,对于任意一个对象我们都可以调用它的属性和方法,这种动态操作类和对象的属性和方法的机制叫Java反射机制。 Java反射机制为了实现对成员变量,普通方法,构造方法的操作,需要借助Java自身提供的java.l...

kjw888的博客 1513

【Day23】反射机制:Class 对象、获取方法 / 属性与动态调用

反射是 Java 的「动态性核心」,也是框架的灵魂(Spring IOC、MyBatis 映射、JUnit 测试等都依赖反射)。今天我们从「是什么 - 怎么用 - 用在哪」三个维度拆解反射机制,不仅掌握 API 用法,更理解其底层逻辑与实战价值。

maihuohuo的博客 1169

JAVA 学习·Class类和反射机制

关于Class类以及反射机制的一个简单介绍。

wr114514的博客 1079

Java中Class类和反射机制

一般用来解决Java 程序运行期间,对某个实例对象一无所知的情况下,如何调用该对象内部的方法问题Reflection(反射)是被视为动态语言的关键,反射机制允许程序在运行期间借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。

2301_79561226的博客 1386

反射机制 获取Class对象的三种方法

反射机制 Java反射机制时在运行状态中,对于任意一个类(class文件),都能知道这个类的所有属性和方法 对于任意一个对象,都能够调用它的任意一个方法 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制(反射包:relect) 应用场景:一个独立运行的应用程序对外提供了接口,外部有实现了接口的类,应用程序会通过配置文件中的指定名称加载其字节码文件,获取其中的内容并调用 Tomcat:提供了处理请求和应答的方式,因为具体的处理动作不同,所以对外提供了接口(Servlet),由开发者来实

weixin_46471817的博客 685

java反射(概念、作用、API)、java类的Class对象的创建、使用

/ 使用Class对象创建java类对象。

Watermelon_Mr的博客 1258

JAVA获取Class对象及其Class类中的常用方法

反射: 反射是我们 经常用到的一个知识点,那什么是反射呢? 反射就是在程序运行过程中分析类的一种能力 在这里我们想一下我们在编写java的时候,先写java源文件——>字节码文件(class文件)——>然后就可以通过 对象.方法调用具体的方法,反射就是吧这个动作的反过来就可以理解为反射。 对象.方法——>字节码文件——>访问里边的其它方法和属性。 那反射能做什么事情呢? 分析类(通过类加载器实现的) 加载并初始化一个类 查看类的所有属性和方法 查看

weixin_52231266的博客 2481

Java反射机制

本篇博客解释了Java中的一个很重要的机制--反射机制,这个机制在Java中的框架都有所使用,可以让大家更好地理解框架的底层是如何实现的,为后面学习框架,了解框架的底层逻辑有很大的帮助,所以反射机制必须要理解掌握。制作不易,如果对大家的学习有帮助的话,希望大家可以三连多多支持一下!!!

2302_78078800的博客 1151
上一篇: Java反射机制——Class类的介绍(二)
下一篇: Java反射机制
spring_model
博客等级 码龄11年 36粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值