Java之通过Class类获取类信息

Java 反射:Class类,动态加载类获取方法和成员变量构造信息,方法反射的基本操作,集合泛型的本质 在清楚了各个大厂的面试重点之后,就能很好的提高你刷题以及面试准备的效率,接下来小编也为大家准备了最新的互联网大厂资料。《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!2928)]既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新! 阅读详情

1、获取类信息

Class<People> peopleClass = People.class;

2、获取公共的方法,包括继承的公有方法

 Method[] methods = peopleClass.getMethods();

3、 找到方法 目的是调用它

methods[i].invoke(people)

 4、访问私有方法

 peopleClass.getDeclaredMethods();

 5、设置私有方法可以被访问 (除去访问修饰符的检查)

 declaredMethods[i].setAccessible(true);

代码示例:

    @Test
    public void test5(){

        People people = new People("张三",18,"男");

        //获取类信息
        Class<People> peopleClass = People.class;
    /*    //获取类的包名
        Package apackage = peopleClass.getPackage();
        System.out.println("类的包名:" + apackage);*/
        //获取公共的方法,包括继承的公有方法
        Method[] methods = peopleClass.getMethods();
        for (int i = 0; i < methods.length; i++) {
           /* //输出所有共有方法
            //   System.out.println(methods[i]);*/
            //找到方法 目的是调用它
            if(methods[i].getName().equals("toString")){
                try {
                    String s = (String)methods[i].invoke(people);
                    System.out.println(s);
                } catch (IllegalAccessException | InvocationTargetException e) {
                    e.printStackTrace();
                }
            }
        }
        System.out.println("---------------------");
        //访问私有方法
        Method[] declaredMethods = peopleClass.getDeclaredMethods();
        for (int i = 0; i < declaredMethods.length; i++) {
            System.out.println(declaredMethods[i]);
            //调用
            if(declaredMethods[i].getName().equals("set")){
                //设置私有方法可以被访问 (除去访问修饰符的检查)
                declaredMethods[i].setAccessible(true);
                try {
                    declaredMethods[i].invoke(people);
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                } catch (InvocationTargetException e) {
                    e.printStackTrace();
                }
            }
        }
    }

 

通过类名获取类的实例对象 通过类的名称就可以找到类的对应实例对象,和JAVA中的反射差不多,使用时可能会应为map对象导致错误,正在改正中 立即下载

相关推荐

数学建模传染病模型_【数学建模】之传染病模型

点击【拇指笔记】,关注我的公众号。SE模型缺点:没有考虑接触到的人中还有一部分病人,所以所有人并不会全部被感染。建立模型:已感染人数(病人)每个病人每天有效接触(足以使人致病)人数为根据(1)(2)可以建立模型:等式两边同时除以\Delta t由导数定义有同时,取\Delta t = 1天由(1)(5)两式可得最终的模型:Logistic模型缺点:区分已感染者(病人)和未感染者(健康人)...

weixin_39590453的博客 2228

Java反射

这个时候我们cons[0]运行就是错的,因为它会默认的排序,从小到大进行排序。我们的数组下标是0的时候,其实只有name的方法。获得所有的属性,注意,给父类属性的前面加public,如果不加就会一个都得不到。然后我们就可以通过反射来创建对象,就是通过类对象调用newInstance。上面的是只有一个方法,我们给上面的方法再加上三个方法,相当于拥有四个方法。只能获得自己的属性,不能得到从父类继承的属性。例如:在我们的老师类中有一个无参的构造方法。得到任意一个对象所属的类的信息。获取任意一个对象的属性和方法。

qq_68595856的博客 646

Caffeine:为每个元素动态设置过期时间

Caffeine利用expireAfter方法实现为每个元素动态设置过期时间

大数据开发、JAVA开发、人工智能AI 1万+

《Java程序设计A》期末考试

《Java程序设计A》期末考试

qq_68149578的博客 2185

Triton推理服务器实战:如何为PaddleOCR的ONNX模型配置动态批处理和并发推理

本文详细介绍了如何使用Triton推理服务器为PaddleOCR的ONNX模型配置动态批处理和并发推理,以提升GPU利用率和推理性能。通过实战案例和参数调优指南,帮助开发者解决高并发场景下的性能瓶颈问题,实现从实验室到生产环境的高效部署。

weixin_42527160的博客 426

自定义css属性实现渐变边框动画

自定义cs属性实现渐变边框动画

lemon的博客 1875

使用java命令执行class文件

一、运行class文件 执行带main方法的class文件,命令行为: java 注意:CLASS文件名不要带文件后缀.class 例如: 复制代码代码如下: java Test 如果执行的class文件是带包的,即在类文件中使用了:package 那应该在包的基路径下执行,命令行为: java .CLASS文件名 例如:

liang0000zai的专栏 4万+

【CTFSHOW】web入门 黑盒测试

文章目录写在前面web380web381web382web383web384web385web386web387web388web389web390web391web392web393web394web395参考资料 写在前面 一直没搞过渗透,先学学黑盒测试吧 web380 进入题目发现是一个关于灯泡的悲伤故事,点进去,看到跳转到page_1.php页面。 我们访问page.php试试: 发现报错:$id.php,可以猜想需要传名称为id的参数,来访问id.php。我们访问page.php?id=1试试

7ruth0hn的博客 1897

获取Class类对象的几种方式

反射、获取class对象

Jimxinfang的博客 8493

【编译原理】LL(1)分析方法 生成语法树(c++实现)

基本流程 输入文法->消除左递归->提取左公共因子->求FIRST集->求FOLLOW集->LL(1)分析表->表驱动的预测语法分析过程->输出语法分析结果和语法树

qq_43417265的博客 1万+

基于POI-TL实现动态Word模板数据填充(含图表):从需求到落地的完整开发实践

本文聚焦企业级报告生成场景中 “在线编辑模板 + 动态数据填充” 的核心需求,详细阐述基于 POI-TL、OnlyOffice 与 MinIO 的全栈实现方案。通过代码示例拆解模板加载、文字填充、图表匹配渲染(含通过关系 ID 关联图表与段落的关键逻辑)、报告存储全步骤。最终通过技术组合实现业务人员可视化编辑模板、后端高效填充数据的目标,为同类动态 Word 生成需求提供可复用的实践参考。

imHanweihu的博客 1866

java class 获取类_Java中通过Class类获取Class对象的方法详解

Java中通过Class类获取Class对象的方法详解前言本文主要给大家介绍的是关于Java通过Class类获取Class对象的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:阅读API的Class类得知,Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的获取Class对象的三种方式...

weixin_35688434的博客 1609

Unity零基础到入门 ☀️| 轻松学会 Unity界面布局和简单实例——入门级!(^_−)☆

入门级Unity知识,一起加油呀!

努力前行,总会成为自己心中的那道光 1万+

java反射应用——从Class类中获取信息

在获得某个类所对应的Class对象之后,程序通过调用Class对象的方法来获得所对应类的真实信息,主要通过Class对象的大量的实例方法来实现。 一、获取类的构造方法: 1、getConstructor(Class[]  params):返回此Class对象所对应的类的指定的public构造方法,params参数是按申明顺序标识该方法参数类型的Class对象的一个数组。构造方法的参数类型与pa

ghp517826的专栏 935

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

java class 获取类_Java反射机制-Class类获取类信息

1.什么是Java反射?Java的反射是指通过一个已知类名就可以获取到该类的内部信息,如类的成员变量,方法,构造函数,而且可以通过反射动态的调用该对象的方法,假设我们有这样一个类package com.crazycoder2010.reflect;public class Demo {private String strField;protected Integer intField;public...

weixin_42421824的博客 273

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java通过反射Class类获取类信息

一、获取类的Class对象 因为Class类是所有类的实例,我们需要先获取类的Class实例,个人理解,之所以称为反射,在一定层面上,是通过Class实例来获取类的信息。获取类的Class实例有如下三种方法 //1,通过实例化对象调用java.lang.Obje...

1095

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java 利用Class获取类的属性信息

package junereflect624; import java.lang.reflect.Modifier; class A { } interface B{ } interface C{ } public class BaseDemo3 extends A implements B,C{ //内部类 public clas...

weixin_30572613的博客 263

class属性 java_java 利用Class获取类的属性信息

package junereflect624;import java.lang.reflect.Modifier;class A {}interface B{}interface C{}public class BaseDemo3 extends A implements B,C{//内部类public class C{}public interface D{}public static void...

weixin_33582801的博客 503

Java反射机制-Class类获取类信息

<br /><br />1.什么是Java反射?<br />  Java的反射是指通过一个已知类名就可以获取到该类的内部信息,如类的成员变量,方法,构造函数,而且可以通过反射动态的调用该对象的方法,假设我们有这样一个类<br />package com.crazycoder2010.reflect;<br />public class Demo {<br /> private String strField;<br /> protected Integer intField;<br /> public do

无证程序员 2744

Java初学笔记31-【反射:机制、功能、主要类)、Class类、获取 Class 类对象的六种方法、类加载,通过反射获取类的结构信息、通过反射创建对象、访问方法和属性】

Java初学笔记31

爱吃凉拌辣芒果的博客 1240

Java笔记(二十九):反射、Class类、类加载过程、通过反射获取类结构信息、反射调用构造器创建对象、反射访问类中的成员

(1)Class也是类,因此也继承Object类;(2)Class类对象不是new出来的,而是系统创建的(类加载);具体来说,是通过ClassLoader类的loadClass创建(3)对于某个类的Class类对象,在内存中只有一份,因为类只加载一次且类加载是同步机制,只能有一个线程加载这个类;比如,先用new一个对象后,再用反射forName去构建Class类型对象,不会再进入ClassLoader类的loadClass方法。

欢迎~ 397

java 获取类属性类型_java 利用Class获取类的属性信息

package junereflect624;import java.lang.reflect.Modifier;class A {}interface B{}interface C{}public class BaseDemo3 extends A implements B,C{//内部类public class C{}public interface D{}public static void...

weixin_42522676的博客 845

【Java教程】Day7-05 反射:通过Class对象获取类型信息

在Java中,Class对象表示类的元数据,通过它可以获取类的各种信息,包括继承关系、实现的接口等。我们可以通过不同的方法获取类的Class对象,并进一步查询类的继承结构和接口。

max202011161630的博客 416
上一篇: 3、hibernate自动模式(IDEA自动生成实体类和映射文件)
下一篇: Java之动态代理模式
LemonSnm
博客等级 码龄8年 66粉丝 168原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值