java语言 百分网手机站

java获取Class对象的方法

时间:2020-09-02 13:34:31 java语言 我要投稿

java获取Class对象的方法

  导语:java中的Class类对象是可以人工自然性的得到的,下面是相关介绍,欢迎参考!

  获取Class对象有三种方式:

  1.通过Object类的getClass()方法。例如:

  Class c1 = new String("").getClass();

  2.通过Class类的静态方法——forName()来实现:

  Class c2 = Class.forName("MyObject");

  3.如果T是一个已定义的类型的话,在java中,它的.class文件名:T.class就代表了与其匹配的Class对象,例如:

  Class c3 = Manager.class;

  Class c4 = int.class;

  Class c5 = Double[].class;

  这里需要解释一下3:请记住一句话,java中,一切皆对象。也就是说,基本类型int float 等也会在jvm的内存池像其他类型一样中生成一个Class对象。而数组等组合型数据类型也是会生成一个Class对象的,而且更令人惊讶的是,java中数组的本来面目其实就是某个类,惊讶中的惊讶是,含有相同元素的相同维数的数组还会共同享用同一个Class对象!其实根据我的臆想,数组的length性质应该就保存在这个Class对象里面。

  Class类中存在以下几个重要的方法:

  1.getName()

  一个Class对象描述了一个特定类的特定属性,而这个方法就是返回String形式的该类的`简要描述。由于历史原因,对数组的Class对象调用该方法会产生奇怪的结果。

  2.newInstance()

  该方法可以根据某个Class对象产生其对应类的实例。需要强调的是,它调用的是此类的默认构造方法。例如:

  MyObject x = new MyObject();

  MyObject y = x.getClass().newInstance();

  3.getClassLoader()

  返回该Class对象对应的类的类加载器。

  4.getComponentType()

  该方法针对数组对象的Class对象,可以得到该数组的组成元素所对应对象的Class对象。例如:

  int[] ints = new int[]{1,2,3};

  Class class1 = ints.getClass();

  Class class2 = class1.getComponentType();

  而这里得到的class2对象所对应的就应该是int这个基本类型的Class对象。

  5.getSuperClass()

  返回某子类所对应的直接父类所对应的Class对象。

  6.isArray()

  判定此Class对象所对应的是否是一个数组对象。


【java获取Class对象的方法】相关文章:

Java中Class对象详解10-01

Java编程中获取路径的方法10-01

java - public class与class的区别详解11-27

java面向对象编程的方法资料12-06

关于Java中对象的销毁方法分析12-01

java的Class类有哪些10-03

Java的面向对象09-30

Java语言Class文件是什么10-03

Java对象和类10-03

Java将对象保存到文件中再从文件中读取对象的方法推荐11-30