java获取method,2.5 反射——Class对象功能_获取Method

本文深入讲解了Java反射机制中Class对象的功能,包括如何通过Class对象获取成员变量、构造方法及成员方法等,并提供了详细的代码示例,展示了如何执行特定方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

>[info] 反射——Class对象功能_获取Method

* Method:方法对象

* 执行方法:

* Object invoke(Object obj, Object... args)

* 获取方法名称:

* String getName:获取方法名

*****

```

package cn.itcast.reflect;

import cn.itcast.domain.Person;

import java.lang.reflect.Constructor;

import java.lang.reflect.Method;

public class ReflectDemo4 {

/**

Class对象功能:

* 获取功能:

1. 获取成员变量们

* Field[] getFields()

* Field getField(String name)

* Field[] getDeclaredFields()

* Field getDeclaredField(String name)

2. 获取构造方法们

* Constructor>[] getConstructors()

* Constructor getConstructor(类>... parameterTypes)

* Constructor getDeclaredConstructor(类>... parameterTypes)

* Constructor>[] getDeclaredConstructors()

3. 获取成员方法们:

* Method[] getMethods()

* Method getMethod(String name, 类>... parameterTypes)

* Method[] getDeclaredMethods()

* Method getDeclaredMethod(String name, 类>... parameterTypes)

4. 获取类名

* String getName()

*/

public static void main(String[] args) throws Exception {

//0.获取Person的Class对象

Class personClass = Person.class;

/*

3. 获取成员方法们:

* Method[] getMethods()

* Method getMethod(String name, 类>... parameterTypes)

* Method[] getDeclaredMethods()

* Method getDeclaredMethod(String name, 类>... parameterTypes)

*/

//获取指定名称的方法

Method eat_method = personClass.getMethod("eat");

Person p = new Person();

//执行方法

eat_method.invoke(p);

Method eat_method2 = personClass.getMethod("eat", String.class);

//执行方法

eat_method2.invoke(p,"饭");

System.out.println("-----------------");

//获取所有public修饰的方法

Method[] methods = personClass.getMethods();

for (Method method : methods) {

System.out.println(method);

String name = method.getName();

System.out.println(name);

//method.setAccessible(true);

}

//获取类名

String className = personClass.getName();

System.out.println(className);//cn.itcast.domain.Person

}

}

```

2.5spring boot框架介绍Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的Web
04-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值