首页 > 其他分享 >初识反射

初识反射

时间:2022-10-18 10:13:02浏览次数:42  
标签:反射 name age public Person 初识 Class String

反射:Reflection

  对象------>类信息

Class类是一切反射的根源。

Class类表示什么?

  很多的人---可以定义一个Person类(有年龄、性别、姓名等)

  很多的车---可以定义一个Car类(有发动机、车轮等)

  很多的--Class类(类名、构造方法、属性、方法)

 

得到Class类的对象有三种方法:

  (1)Object类的getClass()方法

  (2)类.class

  (3)Class.forName() 方法

 

例如:

package com.reflection;

import org.junit.Test;

public class ReflectionDemo1 {

    //获取对象的三种方式


    @Test
    public void test1() throws ClassNotFoundException {
        //通过对象的 getClass()方法
        Person p = new Person("小明",6);
        Class aClass = p.getClass();

        //通过  类.class
        Class personClass = Person.class;

        //通过  Class.forName()  方法
        Class aClass1 = Class.forName("com.reflection.Person");
    }
}

class Person{
    private String name;
    private int age;

    public Person() {
    }

    public Person(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 "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

 

标签:反射,name,age,public,Person,初识,Class,String
From: https://www.cnblogs.com/javafufeng/p/16801461.html

相关文章

  • 初识Kafka
    Kafka是一个多分区、多副本且基于ZooKeeper协调的分布式消息系统Kafka之所以受到越来越多的青睐,与它所“扮演”的三大角色是分不开的:消息系统:Kafka和传统的消息中......
  • 反射学习——Robyn编程学习(Java)
    反射为什么我们需要反射?因为反射就是通过找到一个类的CLASS对象,从而对该类的属性和方法进行操作,可以理解为使用了一个镜子来操控类。反射原理图反射优化类加载的过......
  • linux初识
    目录运维的本质计算机的种类服务器品牌服务器内部组成磁盘列阵操作系统运维的本质运维:运行维护应用程序岗位需求:自动化运维,DBA,docker+k8s……运维职责:尽可能......
  • Java注解与反射个人学习笔记
    注解和反射注解什么是注解内置注解packagecom.siu.annotation;importjava.util.ArrayList;importjava.util.List;//什么是注解publicclassTest01extend......
  • ctfshow web101(反射类Reflectionclass的使用)
    <?php/*#-*-coding:utf-8-*-#@Author:h1xa#@Date:2020-09-1611:25:09#@LastModifiedby:h1xa#@LastModifiedtime:2020-09-2200:26:48#@link......
  • 一、初识Vue
    1.想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象(el,data)(newVue({这里是配置对象}))2、root容器的代码依然符合html规范,只不过混入了一些特殊的Vue语法3、root容......
  • 初识设计模式 - 观察者模式
    简介观察者设计模式(ObserverDesignPattern)的别名有很多,如发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听(Source/Listener)模式或从属者(Depend......
  • 初识C语言
    2022-10-1701:32:17/*%d--打印整型%c--打印字符%f--打印浮点数字-小数%p--以地址的方式打印%x--打印16进制数字%lf--打印双......
  • 【博学谷学习记录】超强总结,用心分享 。网络编程、日志技术、枚举、类加载器、反射。
    网络编程、日志技术、枚举、类加载器、反射。一、三要素1.IP地址:设备在网络中的地址,是唯一的标识(包含ipv4和ipv6,ipv4计算方法是点号计算,ipv6是冒号计算)......
  • 掌握C++的左值引用和初识右值引用
    一、引用和指针的区别?1、左值引用和右值引用2、引用的实例 1、引用是更安全的指针(1)安全性:引用是必须初始化的,指针可以不初始化。 引用能够保证一定能够引用到一个......