zoukankan      html  css  js  c++  java
  • 1、反射-Class&ClassLoader

    Class类

    1、可以得到信息:某个类的数据成员、方法和构造器、某个类实现了那些接口

      对于每个类来说,JRE都为其保留一个不变的Class类型的对象

      一个Class类型的对象包含特定某个类有关的信息

    2、Class对象只能由系统建立

    3、一个类再JVM中只会有一个Class实例

    4、每个类都会记得自己由那个Class实例生成

    得到Class对象

    1、通过.class

            Class clazz = null;
            clazz = Person.class;

    2、通过getClass()方法

            Class clazz = null;
            clazz = new Person().getClass();

    3、通过Class对象的forName()静态方法获取:全类名的方式

     Class clazz = null;
            try {
                clazz = Class.forName("refelect.Person");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }

    Class类常用的方法

    public static Class<?> forName(String className)
    返回指定类名name的Class对象
    public T newInstance()
    调用缺省的构造函数,返回Class对象的一个实例
    public String getName()
    返回此Class对象所表示的实体名称
    Class<? super T> getSuperclass()
    返回当前Class对象对象的父类的CLass对象
    Class<?>[] getInterfaces()
    获取当前Class对象接口
    public ClassLoader getClassLoader()
    返回此类的类加载器
    public class Person {
    
        String name;
        private int 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;
        }
    
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        public Person() {
        }
    }

    newInstance()方法:调用的是无参的构造器

           Class clazz = Class.forName("refelect.Person");
    
            //利用Class的newInstance()方法来创建一个对象
            Object o = clazz.newInstance();
            System.out.println(o);

    ClassLoader

    解析类路径下的文件

    JDBC连接数据的相关获取的方法

  • 相关阅读:
    STM32 CubeMX 学习:004-PWM
    MyBase 7.1 可用的 Markdown 配置表
    STM32 CubeMX 学习:003-定时器
    STM32 CubeMX 学习:002-外部中断的使用
    Kubernetes资源对象之RS
    Kubernetes资源对象之Deployment
    Kubernetes基础资源对象之service
    Kubernetes资源对象之RC
    Kubernetes基础资源对象之Pod
    libev
  • 原文地址:https://www.cnblogs.com/Mrchengs/p/10932416.html
Copyright © 2011-2022 走看看