首页 > 其他分享 >反射-Class对象功能概述和获取Field

反射-Class对象功能概述和获取Field

时间:2022-09-22 21:58:41浏览次数:55  
标签:String System Field 概述 println Class personClass out

反射-Class对象功能

   

 public static void main(String[] args) throws Exception {
        //获取Person的Class对象
        Class personClass =Person.class;

        //Constructor<T> getConstructor(类<?>...parameterTypes)
        Constructor constructor = personClass.getConstructor(String.class, int.class);
        System.out.println(constructor);
        //创建对象
        Object person = constructor.newInstance("张三", 23);
        System.out.println(person);

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

        Constructor constructor1 = personClass.getConstructor();
        System.out.println(constructor1);
        //创建对象
        Object o = constructor1.newInstance();
        System.out.println(o);

        
    }

 

反射-Class对象功能-获取Field

 

 public static void main(String[] args) throws Exception {
        //获取Person的Class对象
        Class personClass =Person.class;

        //获取指定名称的方法
        Method cat = personClass.getMethod("eat");
        Person person = new Person();
        //执行方法
        cat.invoke(person);

        Method cat1 = personClass.getMethod("eat", String.class);
        //执行方法
        cat1.invoke(person,"饭");

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

        //获取所有public修饰的方法
        Method[] methods = personClass.getMethods();
        for (Method method : methods) {
            String name = method.getName();
            System.out.println(name);
//            method.setAccessible(true);
        }

        //获取类名
        String className = personClass.getName();
        System.out.println(className);

    }

 

标签:String,System,Field,概述,println,Class,personClass,out
From: https://www.cnblogs.com/yuzong/p/16720802.html

相关文章

  • Dubbo概述
    什么是RPCRPC是RemoteProcedureCall的缩写 翻译为:远程过程调用目标是为了实现两台(多台)计算机\服务器,相互调用方法\通信的解决方案RPC只是实现远程调用的一套标准......
  • JavaScript 类(class)
    使用class关键字关键一个类,每个类中包含了一个特殊的方法 constructor(),它是类的构造函数创建类classClassName{constructor(name,url){this.name=name;this,url=u......
  • Python中的数据类dataclass详解
    1.为什么需要数据类1.1☹️内置数据类型的局限假设我们现在遇到一个场景,需要一个数据对象来保存一些运动员信息.可以选择使用基本的数据类型tuple或者dict实现.如:创建......
  • Initialization of bean failed; nested exception is java.lang.NoClassDefFoundErro
    springcloud和springcloud版本不一致官网版本对应详情:https://start.spring.io/actuator/info最好参照官网springboot版本选取springcould版本https://spring.io/proje......
  • 方法引用-数组的构造器引用和Junit测试概述
    方法引用-数组的构造器引用ArrayBuilder接口/*定义一个创建数组的函数式接口*/publicinterfaceArrayBuilder{//定义一个创建int类型数组的方法,参数传递......
  • 【Python】python语言基础概述
    1.文件类型python文件有3种类型:(1)源代码文件:xx.py。(2)字节代码文件:xx.pyc。由xx.py编译成的二进制字节码文件,通过Python程序加载执行,速度快,能够隐藏源码......
  • 第一章-系统概述
    1.1操作系统基本概述1.1.1OS的概念和功能操作系统是【控制和管理整个计算机系统的硬件和软件资源,合理组织,调度计算机工作与资源的分配】是一个程序集合,是最基本的系统软......
  • Kafka概述
    1、Kafka概述:和消息系统类似(1)特性:1)发布和订阅 2)实时处理数据流 3)分布式存储(2)功能:构建实时数据管道和实时数据流处理,横向扩展(通过增加机器的方式......
  • NR系统概述-架构与演进
    大家好,从今天开始我会把NR相关的知识以博文的方式放上来。可能速度会比较慢,时间也会拉得很长,因为内容比较多,我还在整理中,而且很多内容关联性很强,我得考虑介绍的先后顺序。......
  • vue中设置class多种方式
    class可以绑定对象数组和函数等<!--第一种:数组直接传递一个数组,注意:这里的class需要使用v-moddel做数据绑定-->33<h1:class="['red','thin']">第一种:数组了......