Back End

java反射

PineappleCat · 3月29日 · 2021年 172次已读

1.什么是类对象?

反射:把Java类中的各种成分映射成单独的Java对象进行操作。

类的对象:基于某个类new 出来的对象,也称为实例对象。

类对象:类加载的产物,封装了一个类的所有信息(类名、父类、接口、属性、方法、构造方法)

2.反射相关类

  • Class类—可获取类和类的成员信息
  • Field类—可访问类的属性
  • Method类—可调用类的方法
  • Constructor类—可调用类的构造方法

创建一个测试类

public class Student implements Serializable, Cloneable{
    private String name;
    private int age;

    public Student() {
        System.out.println("无参构造执行了");
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
        System.out.println("带参构造执行了");
    }

    private Student(String name) {
        this.name = name;
    }

    //1.无参无返回值的方法
    public void show() {
        System.out.println(this.name + " " + this.age);
    }

    //2.有参无返回值的方法
    public void show(String addr) {
        System.out.println("地址:" + addr);
    }

    //3.无参带返回值的方法
    @Override
    public String toString() {
        return "Student{" +
            "name='" + name + '\'' +
            ", age=" + age +
            '}';
    }

    //4.静态方法
    public static void calcount() {
        System.out.println("计算学生数量");
    }

    //5.私有方法
    private void study() {
        System.out.println("好好学习!");
    }

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

3.获取类对象

  • 实例对象.getClass()
  • 类名.calss()
  • Class.forName(“类的全名称带包名”)

付费资源您未登录,请先

Click here to view the copyright notice of this site(点击此处查看本站版权声明)
0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!