JAVA反射总结

概念

在运行状态中,对于任意一个类,都能获取类的所有方法和属性;对应任意一个对象,都能调用它的任意一个方法和属性。

Reflection API介绍

  • Class类: 代表一个类
  • Field类:代表一个类的成员变量
  • Method类:代表类的方法
  • Constructor类:代表类的构造方法
  • Array类:提供了动态创建数组,及访问数组的静态方法

Reflection.Class

Class概念

在java中,每一个class都有一个Class对象。我们每编写一个class,在编译完成后,在生成的.class文件中,都会产生一个Class对象,用于表示这个类的类型信息

Class的获取方式

  • new一个class的实例,然后调用getClass()方法
  • Class.forName("类名称")
  • 直接调用.class
    代码:
public class FancyToy extends Toy implements HasBatteries,Waterproof,ShootsThings {
    FancyToy() { super(1); }


    public static void main(String... args){
        FancyToy fancyToy = new FancyToy();
        Class<?> clazz01 = fancyToy.getClass();   //方法1,调用getClass()
        Class<?> clazz03 = FancyToy.class;  //方法3,运用.class的方式获取
        try{
            Class<?> clazz02 = Class.forName("com.vilian.thinkingInJava.chapter05.classForname.FancyToy");  #方法2,调用Class.forName()
            System.out.println(clazz02.toString());
        }catch(ClassNotFoundException e){
            e.printStackTrace();
        }

        System.out.println(clazz01.toString());
        System.out.println(clazz03.toString());

    }
}

Class的一些常用API

  • getSuperclass() 获取父类
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首发于公众号:专业电影评论 专业影评 @TOC java反射机制的应用器 开发的时候有时候会碰到这样的情况,...
    专业电影评论阅读 335评论 0 1
  • 反射机制是Java动态性之一,而说到动态性首先得了解动态语言。那么何为动态语言? 一、动态语言 动态语言,是指程序...
    为梦想战斗阅读 452评论 0 1
  • 类加载机制 1 什么是反射 Java反射机制是在运行状态中对于任意一个类,都能知道这个类的所以属性和方法;对于任何...
    凯玲之恋阅读 13,891评论 3 28
  • 问题: 在运行时,对一个JAVA类,能否知道属性和方法;能否调用它的任意方法? 答案是可以的,JAVA提供一种反射...
    糖宝_阅读 773评论 0 1
  • 写作给我带来了甜头 让我羡慕不已的人中就有一个是会写作的人。看他们说话一针见血,总能说到人的心坎上,我是佩服的五体...
    蜜斯兰阅读 169评论 0 0