zoukankan      html  css  js  c++  java
  • java 反射机制

    Java 反射机制
    一 获取Class对象的三种方法
    1 Class.forNname()方法:使用Class.forName()方法时,你必须提供一个类的全名,这个全名包括类所在的包的名字
    2 .class
    3 getClass()方法

    example:
    class Student{
    private String name;
    private Integer age;
    private char gender;

    public student(String name, Integer age, char gender) {
    this.name = name;
    this.age = age;
    this.gender = gender;
    }

    public String getName() {
    return name;
    }

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

    public Integer getAge() {
    return age;
    }

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

    public char getGender() {
    return gender;
    }

    public void setGender(char gender) {
    this.gender = gender;
    }
    }

    //第一种
    Class c1 = Class.forName("Student");
    //第二种
    Class c2 = Student.class;
    //第三种
    Student stu = new Student();
    Class c3 = stu.getClass();

    二 创建对象:获取类以后我们来创建它的对象,利用newInstance
    Class c1 = Class.forName("Student");
    Object student = c1.newInstance();

    三 获取对象的属性
    getDeclaredMethods() 获取所有的方法
    getReturnType() 获得方法的放回类型
    getParameterTypes() 获得方法的传入参数类型
    getDeclaredMethod("方法名",参数类型.class,……) 获得特定的方法


    构造方法关键字 含义
    getDeclaredConstructors() 获取所有的构造方法
    getDeclaredConstructor(参数类型.class,……) 获取特定的构造方法

    父类和父接口 含义
    getSuperclass() 获取某类的父类
    getInterfaces() 获取某类实现的接口

  • 相关阅读:
    【python cookbook学习笔记】给字典增加一个条目
    UI设计星级评价
    弱引用和循环引用
    lua数据类型
    lua虚拟机笔记
    c++对象模型笔记
    使树控件方向键无效
    实现CListCtrl自定义行高
    创建对话框时常用配置
    C++格式化输出总结
  • 原文地址:https://www.cnblogs.com/wangpenglen/p/6060936.html
Copyright © 2011-2022 走看看