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

news/2024/5/19 4:41:12 标签: java, 开发语言, 反射

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

文章目录

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

🎄什么是反射

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

🎄获取class对象的三种方式

在这里插入图片描述

⭐代码实现

Student.java

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

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.niftyadmin.cn/n/5211233.html

相关文章

AGV调整Matlab实现

% 用二维数组代替地图和场地信息 % 可用场地:0 % 小车本身:1 % 货物点及入库点:2 % 地图边界: 100 % AGV出发区:11 % 监测区:12 % 充电区:13 % 生产区A1、A2:14 % 生产区B3、B4、B5&#xff1a…

OpenGL 绘制旋转球(Qt)

文章目录 一、简介二、实现代码三、实现效果一、简介 这里其实就是指三个互相垂直的三个圆形,正好之前已经完成了圆形平面的绘制,那么这里就需要对之前的圆形进行一些改造,使得它们可以以任意一种姿态在OpenGL中进行绘制(添加变换矩阵)。 这里同样对其进行封装,具体内容如…

vue中 mixin用法

在Vue.js中,mixin是一种可以在多个组件之间共享Vue组件选项的灵活方式。mixin对象可以包含任何组件选项。当组件使用mixin时,所有mixin对象的选项将被“混合”到该组件的选项中。 使用mixin的一个主要优点是可以在多个组件之间重用和共享代码。这可以帮…

构造命题公式的真值表

构造命题公式的真值表 1:实验类型:验证性2:实验目的:3:逻辑联结词的定义方法4:命题公式的表示方法5:【实验内容】 1:实验类型:验证性 2:实验目的&#xff1a…

vue2中使用echarts

1,安装echarts npm install --save echarts 2&#xff0c;具体页面 <template><div class"app-container"><div class"aa" id"main" style"width: 500px; height: 400px;"></div></div> </te…

【C/PTA —— 11.函数2(课外实践)】

C/PTA —— 11.函数2&#xff08;课外实践&#xff09; 一.函数题6-1 计算A[n]1/(1 A[n-1])6-2 递归实现顺序输出整数6-3 自然数的位数(递归版)6-4 分治法求解金块问题6-5 汉诺塔6-6 重复显示字符(递归版)6-7 显示平行四边形(右)(递归版) 二.编程题7-2 N阶楼梯上楼问题 一.函数…

SpringBoot——拦截器

优质博文&#xff1a;IT-BLOG-CN 一、登录时可能会出现重复提交问题。我们可以通过重定向解决此问题。例如&#xff1a;用户提交的请求为&#xff1a;/user/login&#xff0c;通过redirect&#xff1a;重定向至 main.html请求。 PostMapping("/user/login") public …

Rust9.2 Patterns and Matching

Rust学习笔记 Rust编程语言入门教程课程笔记 参考教材: The Rust Programming Language (by Steve Klabnik and Carol Nichols, with contributions from the Rust Community) Lecture 18: Patterns and Matching src/main.rs fn main() {//match arms// match VALUE {// …