• 反射


    1,java程序中一般的对象的类型都是在编译期就确定下来的,而Java反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是未知的。

    2,主要功能:

      1)运行时判断任意对象属于哪个类

      2)任意构造类的对象

      3)判断任意对象的属性和方法,任意调用对象的方法

    3,实例:idea的提示功能,spring框架,写在xml文档的bean,在运行时通过反射实例化

    4,基本操作:https://www.sczyh30.com/posts/Java/java-reflection-1/

    5,class方法

    Class类常用方法
    
       ▶ getName() :获得类的完整名字;
    
       ▶ getSuperclass() :获得类的父类;
    
       ▶ newInstance() :通过类的不带参数的构造方法创建这个类的一个对象;
    
       ▶ getFields() :获得当前类和父类中的public类型的所有属性;
    
       ▶ getDeclaredFields() :获得当前类(不包含父类)声明的所有属性,包括private和public;
    
        注:对于某个属性field,设置field.setAccessible(true),即可访问private的属性值,如field.get(obj)
    
       ▶ getMethods() :获得前类和父类中public类型的所有方法;
    
       ▶ getDeclaredMethods() :获得当前类(不包含父类)声明的所有方法,包括private和public;
    
       ▶ getMethod(String name, Class[] parameterTypes) :获得类的指定方法,name参数指定方法的名字,parameterTypes 参数指定方法的参数类型;
    
       ▶ getConstructors() :获得当前类的public类型的构造方法;
    
       ▶ getDeclaredConstructors() :获得当前类的public和private类型的构造方法;
    
       ▶ getConstructor(Class[] parameterTypes) :获得类的特定构造方法,parameterTypes 参数指定构造方法的参数类型;
    
       ▶ getInterfaces() :获得实现的接口;
    
       ▶ getSuperclass() :获得继承的父类;
  • 相关阅读:
    类的加载过程 以及实例的加载顺序
    设计优化之单例模式
    Java程序性能优化之性能概述
    1-12接口
    1-11多态
    1-9方法的重写(override)
    1-6static关键字
    1-10super和this关键字
    1-8继承extends
    1-7代码块的分类
  • 原文地址:https://www.cnblogs.com/vhyc/p/9429091.html
Copyright © 2020-2023  润新知