反射Class

作者: shineegirl | 来源:发表于2016-12-09 16:33 被阅读11次

class类的使用

方法的反射

成员变量的反射

构造函数的反射

Java类加载机制

反射帮我们做一些程序运行时刻的事情。

静态的成员,普通数据类型不是对象。

类是class的对象。

属性名称规范:如果第一个首字母是大写,则第二个字母也应该是大写,如果是第一个字母是小写则没有问题(如果不按规范来,用到Java反射的时候可能会找不到对应的set/get方法)

万物皆对象,一个类可以实例化一个对象,一个类也是Class的一个对象,c为Person的类类型(class type),表示Person是一个对象,Class的对象,任何一个类都是Class的实例对象,有三种表示方式,如下所示:

//事例告诉我们任何一个类都有一个静态成员属性

Class c= Person.class

1.所有类的对象都是class的实例。

获取class对象的三种方法

《1》 Class person = Class.forName("Person");//常用方法

《2》

 

Class

 

person = new Person.getClass();

《3》

 

Class 

person = Person.class

一个类只可能是Class类的一个实例对象。 以上person是相同的。

可以通过类的类类型创建类的对象实例。(动态加载一个类,编译时刻加载类是静态加载类,运行时刻加载类是动态加载类)

Person person = (Person)person.newInstance(); //必须要有无参的构造方法

类是class的一个实例,基本的数据类型也是(int,String,void)

//new 创建对象是静态加载类,在编译时刻就需要加载所有的可能使用到的类。

c1.getName();

person.getDeclaredFields()//获得自己声明的一些属性,不包括父类的

person.

getFields()//可以获得自己和父类的一些public方法

Person person = (Person)person.newInstance(); //必须要有无参的构造方法

Method类,方法的对象,一个成员方法就是一个Method对象,getMethods()方法获取的是所有public的函数,包括父类的,getDeckaredMethods()获取的是自己声明的,不问访问类型。

2 通过class获取对象

Class.forName("Person").getConstructors();Object person = con[0].newInstance("zld",18);获取类实现的所有接口类Class.forName("Person").getInterfaces();

取得其他类中的父类

 demo=Class.forName("包名.Person");  demo.getSuperClass();

用反射可能证明泛型是伪泛型,泛型只在编译时起作用,防止错误的输入。

相关文章

  • Java 学习基础篇 ---- Java反射与泛型

    一、反射 通过Class实例获取 class 信息的方法称为反射(Reflection)。 (一) Class 类...

  • 反射Class

    class类的使用 方法的反射 成员变量的反射 构造函数的反射 Java类加载机制 反射帮我们做一些程序运行时刻的...

  • 反射泛型容器

    一、 反射 1.1> 什么是反射 Class是反射的核心。在运行期进行实例的生成。 Class文件 属性 方法 (...

  • java 反射

    1. 什么是反射操作 通过Class实例获取class信息的方法称为反射(Reflection),反射的目的是为了...

  • JAVA基础之反射

    1.通过反射获取类获取反射对象(反射入口):Class 1.Class.forName(全类名) 2.类名.cla...

  • java基础-day18-反射

    反射 1. 反射 1.1 昨日回顾 1.2 万物皆对象 1.3 Class类型获取 1.4 通过Class对象获取...

  • Java的反射机制

    Class简介 反射之中所有的核心操作都是通过Class类对象来展开的, 可以说Class类对象是反射操作的根源所...

  • CoreJava笔记 - 范型程序设计(5)

    反射与范型 由于类型擦除,反射无法得到关于范型类型参数的信息。 范型的Class类在Java的反射库中,Class...

  • 反射

    反射 class 获取class字节码对象的三种方式: //1、通过类.class Class cla...

  • 新鲜出炉,深入讲解java反射的底层原理,这篇算讲的不错了!

    反射 反射 Java代码和Java文件 Java文件和.class字节码文件 class字节码文件在内存中的位置 ...

网友评论

    本文标题:反射Class

    本文链接:https://www.haomeiwen.com/subject/nhekmttx.html