【反射】简述反射的构造方法,成员变量成员方法

news2024/9/23 7:24:33

🎊专栏【JavaSE】
🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
🎆音乐分享【如愿】
🥰欢迎并且感谢大家指出我的问题

文章目录

  • 🎄什么是反射
  • 🎄获取class对象的三种方式
    • ⭐代码实现
  • 🌺利用反射获取构造方法
  • 🌺利用反射获取成员变量
  • 🌺利用反射获取成员方法

🎄什么是反射

反射允许对成员变量,成员方法和构造方法的信息进行编程访问
在这里插入图片描述
例如idea的自动提示功能,就是利用了反射
在这里插入图片描述
利用反射,我们可以获取类里面的所有信息

🎄获取class对象的三种方式

在这里插入图片描述

⭐代码实现

Student.java

public class Student {
    private String name;
    private int age;

    public Student(){

    }

    public Student(String name,int age){
        this.name=name;
        this.age=age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

MyReflectDemo1.java

public class MyReflectDemo1 {
    public static void main(String[] args) throws ClassNotFoundException {
        //方式一
        Class clazz1 = Class.forName("com.itheima.myreflect1.Student");

        //方式二
        Class clazz2= Student.class;

        //方式三
        Student s=new Student();
        Class clazz3=s.getClass();

        //打印获取到的字节码文件
        System.out.println(clazz1);
        System.out.println(clazz2);
        System.out.println(clazz3);
    }
}

在这里插入图片描述

🌺利用反射获取构造方法

在这里插入图片描述
在这里插入图片描述

🌺利用反射获取成员变量

在这里插入图片描述
在这里插入图片描述

🌺利用反射获取成员方法

在这里插入图片描述
在这里插入图片描述

在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!

在这里插入图片描述

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

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

相关文章

oracle闪回恢复表数据

oracle闪回恢复表数据 1.打开监听和数据库,进入需要操作的表的所属用户下 [oraclemydb ~]$ lsnrctl start [oraclemydb ~]$ sqlplus / as sysdba SQL> startup SQL> conn test/123456 SQL> select * from test1;2.删除任意数据: …

Error querying database. Cause: java.lang.reflect.InaccessibleObjectException:

最近开发过程中,居然碰到了一个Arrays.asList的错,怎么个场景呢?传参一个用固定符号拼接的字符串,需要转成集合然后再myBatis里in判断。然后就报错了。 一、代码层面 service层面: shortDetailUrlList Arrays.asLi…

C语言——从终端(键盘)读入 20 个数据到数组中,统计其中正数的个数,并计算这些正数之和

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int i0;int sum0;int count0;int arr[20];printf("输入20个数据&#xff1a;\n");for(i1;i<20;i){scanf("%d",&arr[i]);if(arr[i]>0){count;sumarr[i];}}printf("正…

文献速递:非专业任务医生在审查X光片时受益于正确的可解释人工智能建议

非专业任务医生在审查X光片时受益于正确的可解释人工智能建议 01****文献速递介绍 本文主要探讨了人工智能&#xff08;AI&#xff09;在放射学中的应用&#xff0c;特别是在胸部X光片的诊断中AI临床决策支持系统&#xff08;AI-CDSS&#xff09;的作用。研究发现&#xff0c…

Websocket “未完成操作“与真机报错 问题

关于弱小又无助的小前端开发工程师的经历分享&#xff1a; 在用uniapp开发微信小程序的过程中&#xff0c;需要使用websocket进行数据的传输&#xff0c;在开发过程中没有任何的问题&#xff0c;但是进入生产环境时&#xff0c;真的是三路十八弯&#xff0c;让小前端尝遍了微信…

起动电流小,工作频率 可达500kHz的Dc-Dc开关电源芯片B3842芯片描述

B3842/43/44是专为脱线和Dc-Dc开关电源应用设计的恒频电流型Pwd控制器内部包含温度补偿精密基准、供精密占空比调节用的可调振荡器、高增益混放大器、电流传感比较器和适合作功率MOST驱动用的大电流推挽输出颇以及单周期徊滞式限流欠压锁定、死区可调、单脉冲计数拴锁等保护电路…

JAVA序列化和反序列化

JAVA序列化和反序列化 文章目录 JAVA序列化和反序列化序列化什么是序列化&#xff1f;为什么要进行序列化?如何将对线进行序列化具体实现过程 完整代码 序列化 什么是序列化&#xff1f; 就是将对象转化为字节的过程 为什么要进行序列化? 让数据更高效的传输让数据更好的…

“AI就绪”新计划,亚马逊云科技到2025年向200万人提供免费AI技能培训

AI就绪&#xff08;AI Ready&#xff09;计划 到2025年为全球200万人提供 免费人工智能&#xff08;AI&#xff09;技能培训和教育资源 亚马逊云科技宣布启动“AI就绪&#xff08;AI Ready&#xff09;”计划&#xff0c;旨在到2025年为全球200万人提供免费人工智能&#xff08…

自动化测试中几种常见验证码的处理方式及如何实现?

UI自动化测试时&#xff0c;需要对验证码进行识别处理&#xff0c;有很多方式&#xff0c;每种方式都有自己的特点&#xff0c;以下是一些常用处理方法&#xff0c;仅供参考。 1 去掉验证码 从自动化的本质上来讲&#xff0c;主要是提升测试效率等&#xff0c;但是为了去研究验…

新手如何买卖可转债,可转债投资基础入门

一、教程描述 什么是可转债&#xff1f;可转债是可转换债券的二次简称&#xff0c;原始全称是可转换公司债券&#xff0c;这是一种可以在特定时间、按特定条件&#xff0c;转换为普通股票的特殊企业债券&#xff0c;可转换债券兼具债权和股权的特征&#xff0c;其英文为conver…

AMESim|Make failed:Unable to create an excutable for the system

最近在AMESIM与MATLAB进行联合仿真的时候遇到如下问题&#xff1a; Make failed:Unable to create an excutable for the system. 看了网上的解决办法如下 配置环境变量重装AMESIM&#xff0c;有顺序要求&#xff0c;首先是VS&#xff0c;然后是AMESIM与MATLAB。在AMESIM安装…

PDF 批量处理软件BatchOutput PDF mac中文版介绍

BatchOutput PDF mac是一款适用于 Mac 的 PDF 批量处理软件。它可以帮助用户将多个 PDF 文件进行异步处理&#xff0c;提高工作效率。 BatchOutput PDF 可以自动化执行许多任务&#xff0c;包括 PDF 文件的打印、转换、分割、压缩、加密、重命名等&#xff0c;而且它还可以将自…

5-11一个球从100米自由落下

#include<stdio.h> int main(){double down100;double back down/2;int n;//次数for(n2;n<10;n){downdownback*2;backback/2; }printf("第10次落地经过%f米\n",down);printf("第10次反弹%f米\n",back);return 0;}

视频直播美颜SDK对比测评,技术深度剖析

美颜滤镜作为直播体验的关键一环&#xff0c;成为直播平台竞争的焦点。在美颜滤镜的背后&#xff0c;不同的视频直播美颜SDK各有千秋&#xff0c;下文&#xff0c;小编将对几个主要的视频直播美颜SDK进行对比测评&#xff0c;并深度剖析其技术特点。 一、美颜SDK简介 首先&a…

做嵌入式(/单片机/ARM)底层开发普遍待遇是怎样的?

做嵌入式&#xff08;/单片机/ARM&#xff09;底层开发普遍待遇是怎样的&#xff1f;北京&#xff0c;成都待遇分别怎样&#xff1f; 嵌入式系统方向的工作就是设计嵌入式设备的集成和配套&#xff0c;包括硬件设备和运行其上的控制软件&#xff0c;硬件设备就包括如单片机、MC…

IIC驱动OLED(SSD1306) HAL库+CubeMX

一.IIC传输数据的格式 1.写操作 2.读操作 3.IIC信号 二. IIC底层驱动 1.重新初始化配置延时单元 //软件延时 void I2C_Delay(uint32_t t) {volatile uint32_t tmp t;while(tmp--); }void I2C_GPIO_ReInit(void) {/* 1. 使用结构体定义硬件GPIO对象 */GPIO_InitTypeDef GPIO…

python+pytest接口自动化-requests发送post请求

简介 在HTTP协议中&#xff0c;与get请求把请求参数直接放在url中不同&#xff0c;post请求的请求数据需通过消息主体(request body)中传递。 且协议中并没有规定post请求的请求数据必须使用什么样的编码方式&#xff0c;所以其请求数据可以有不同的编码方式&#xff0c;服务…

Linux的基本指令(3)

16.cal指令 cal命令可以用来显示公历&#xff08;阳历&#xff09;日历。公历是现在国际通用的历法&#xff0c;又称格列历&#xff0c;通称阳历。“阳历”又名“太阳历”&#xff0c;系以地球绕行太阳一周为一年&#xff0c;为西方各国所通用&#xff0c;故又名“西历”。 命…

手动创建映像及在OpenStack云计算平台的镜像应用

目录 一、下载 rhel7.6 安装ISO 二、在VMware 的虚拟机内创建虚拟机 三、更改一些设置 1、使用httpd暴露&#xff08;在外部虚拟机&#xff09; 2、添加软件仓库 3、 安装 ACPI 服务 4、使用 cloud-init 获取公钥 5、安装 cloud-utils-growpart 以允许调整分区大小 6、…

H5游戏和小程序游戏的区别是什么,分别有什么优势?

H5游戏和小程序游戏都是基于互联网的游戏形式&#xff0c;但它们在技术实现、发布平台和用户体验等方面存在一些区别。 技术实现&#xff1a; H5游戏&#xff1a; 使用HTML5、CSS3、JavaScript等Web技术进行开发。这意味着玩家可以通过任何支持Web浏览器的设备访问游戏&#…