[Java基础]反射获取成员方法并使用

在这里插入图片描述

代码如下:

package ClassObjectPack01;import ClassObjectPack.Student;import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;public class ReflectDemo05 {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {Class<?> c = Class.forName("ClassObjectPack.Student");//Method getMethod(String name, 类<?>... parameterTypes)//返回一个 方法对象,它反映此表示的类或接口的指定公共成员方法 类对象。//Method[] getMethods()//返回包含一个数组 方法对象反射由此表示的类或接口的所有公共方法 类对象,包括那些由类或接口和那些从超类和超接口继承的声明。//方法 getDeclaredMethod(String name, 类<?>... parameterTypes)//返回一个 方法对象,它反映此表示的类或接口的指定声明的方法 类对象。//方法[] getDeclaredMethods()//返回包含一个数组 方法对象反射的类或接口的所有声明的方法,通过此表示 类对象,包括公共,保护,默认(包)访问和私有方法,但不包括继承的方法。Method[] methods = c.getMethods();for (Method method:methods){System.out.println(method);}System.out.println("-----------------------------------------");Method[] methods01 = c.getDeclaredMethods();for (Method method:methods01){System.out.println(method);}System.out.println("------------------------------------------");Method m = c.getMethod("method1");Constructor<?> con = c.getConstructor();Object obj = con.newInstance();//在类或接口上提供单一方法的信息和访问权限。//Object invoke(Object obj, Object... args)//在具有指定参数的 方法对象上调用此 方法对象表示的底层方法。//object:返回值类型//obj:调用方法的对象//args:方法需要的参数m.invoke(obj);//        Student s = new Student();
//        s.method1();}
}

测试结果:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

副业刚需? 恐怕并不靠谱!

点击蓝字关注&#xff0c;回复“职场进阶”获取职场进阶精品资料一份上一篇文章推了我的星球&#xff0c;两天时间就有接近200位读者加入。有「热心朋友」帮我计算了下&#xff1a;你这两天收入快2万啊&#xff0c;你这副业做的挺好啊。很不客气的说&#xff0c;如果写写公号&a…

Wooden Sticks POJ - 1065(最大上升子序列+动态规划状态转移思维)

题意&#xff1a; 给你n个木棍的长度和重量&#xff0c;让其成为上升序列&#xff0c;如果不能达到&#xff0c;就需要重新一分钟设置。 a&#xff09;第一个木棍的准备时间为1分钟。 b&#xff09;在处理长度为l和重量为w的棒之后&#xff0c;如果l < l’并且w < w’&a…

[Java基础]Junit测试

Junit测试: 代码如下: package CalculatorPack;public class Calculator {public int add(int a,int b){return ab;}public int sub(int a,int b){return a-b;}}package CalculatorPack;import org.junit.Assert; import org.junit.Test;public class CalculatorTest {Testp…

15分钟为自己架设优雅如Github的代码仓库

前言Github大家都熟悉。除了开源的项目外&#xff0c;有时候&#xff0c;大家也会把自己或团队、公司的项目传到Github的私有仓库里&#xff0c;把Github当成自己的私人Git Server。但是&#xff0c;用Github会有一些问题&#xff1a;Github从国内访问不是很稳定&#xff0c;有…

Pseudoprime numbers POJ - 3641(快速幂+判素数)

题意&#xff1a; 给你两个数&#xff0c;p和a&#xff1b;满足两个条件&#xff1a; 1.p不是素数&#xff1b; 2.apa^{p}ap %pa; 满足则输出yes&#xff0c;反之输出no。 题目&#xff1a; Fermat’s theorem states that for any prime number p and for any integer a &g…

[Java基础]反射案列

pro.properties文件(该文件与ReflectTest01同处在同一个文件夹)&#xff1b; className domain.Person methodName eat代码如下: package domain;public class Student {public void sleep(){System.out.println("sleep...");} }package domain;public class Per…

[推荐]大量 Blazor 学习资源(三)

大量 Blazor 学习资源系列文章&#xff1a;[推荐]大量 Blazor 学习资源&#xff08;一&#xff09;[推荐]大量 Blazor 学习资源&#xff08;二&#xff09;这次主要内容有 Blazor 相关视频&#xff0c;因为本身视频是英文的&#xff0c;所以就保持原样了&#xff0c;描述没有翻…

The Water Bowls POJ - 3185(开关问题+暴力)

题意&#xff1a; 给20个水碗。朝上为‘0’或朝下为‘1’&#xff0c;每次操作使三个碗翻转&#xff0c;问使所有20个水碗都朝上&#xff0c;至少翻多少次&#xff1f; 题目&#xff1a; The cows have a line of 20 water bowls from which they drink. The bowls can be e…

基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(二)

上一篇使用HtmlAgilityPack抓取壁纸数据成功将图片存入数据库&#xff0c;本篇继续来完成一个全网各大平台的热点新闻数据的抓取。同样的&#xff0c;可以先预览一下我个人博客中的成品&#xff1a;https://meowv.com/hot ????????????&#xff0c;和抓取壁纸的套路…

Linear world POJ - 2674(弹性碰撞+技巧)

题意&#xff1a; 给你n个居民的起始位置&#xff0c;各自在长度为l的平台&#xff0c;以同样的速度向左或向右走&#xff0c;当碰见时往相反方向走&#xff0c;问最后掉下去的居民花费的时间以及姓名。 题目&#xff1a; The Disc, being flat, has no real horizon. Any a…

TechEmpower Web 框架性能第19轮测试结果正式发布,ASP.NET Core在主流框架中拔得头筹...

TechEmpower第19轮编程语言框架性能排行榜2020年5月28日正式发布,详见官方博客&#xff1a;https://www.techempower.com/blog/2020/05/28/framework-benchmarks-round-19/&#xff0c;TechEmpower基准测试有许多场景&#xff08;也称为测试类型&#xff09;&#xff0c;此次评…

Calendar Game POJ - 1082(关于日历的博弈问题)

题意&#xff1a; 两个人轮流玩游戏&#xff0c;每个人可以把日期进行转移&#xff0c;转移规则&#xff1a; 1.可以转移到当前日期的下一天。 2可以转移到下个月的这一天。&#xff08;但是如果下个月没有这一天就不能进行第二种转移&#xff09; 3.如果A恰好移动到2001.11.4…

[Java基础]JDK内置注解

示例代码如下: package annotation;SuppressWarnings("all") public class AnnoDemo2 {Overridepublic String toString(){return super.toString();}Deprecatedpublic void show(){//有缺陷}public void show1(){//替代show方法}public void demo(){show();}}

学了这么多年精益思想,居然不知道还有第八种浪费 | IDCF

价值和浪费“我是彻底的现场主义者。与其在领导办公室内冥思苦想&#xff0c;倒不如到生产现场的各个角落&#xff0c;直接获得第一手的生产信息和感受直接的刺激。”——大野耐一&#xff0c;丰田生产方式之父大野耐一提倡直接去现场工作&#xff0c;在那里才能看到价值与浪费…

41 sysfs 文件系统

前言 在 linux 中常见的文件系统 有很多, 如下 基于磁盘的文件系统, ext2, ext3, ext4, xfs, btrfs, jfs, ntfs 内存文件系统, procfs, sysfs, tmpfs, squashfs, debugfs 闪存文件系统, ubifs, jffs2, yaffs 文件系统这一套体系在 linux 有一层 vfs 抽象, 用户程序不用…

A Greeting from Qinhuangdao Gym - 102769A 2020ccpc秦皇岛分站赛

题意&#xff1a; 给你n个红球和m个蓝色球。然后以相等的概率随机选择了其中两个。选择两个红球的概率是多少&#xff1f; 题目&#xff1a; Welcome to the CCPC Qinhuangdao Site! Qinhuangdao is a beautiful coastal city full of charm, integrating historical herit…

Gartner:6个容器和Kubernetes策略的最佳实用技巧

导语采用容器和Kubernetes要求整个企业保持一致&#xff0c;不了解这些前期现实会导致一些非常严峻的后果。正文Gartner估计&#xff0c;到2022年&#xff0c;将有75&#xff05;的组织在生产中运行容器化应用程序。毫无疑问&#xff0c;Kubernetes已成为组织容器的流行方法。通…