java的Class类

java中各个java类属于同一个事物,而描述这些事物的类名就是Class.

 

Class为一个类,而class为一个关键字。

 

Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java 类型(booleanbytecharshortintlongfloatdouble)和关键字 void 也表示为 Class 对象。

Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。

 

Class类常用的方法:

static Class<?>|forName(String className)
          返回与带有给定字符串名的类或接口相关联的 Class 对象。

String getName()
          String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
 Package getPackage()
          获取此类的包。
String getName()
          String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
 Package getPackage()
          获取此类的包。
String getName()
          String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
 Package getPackage()
          获取此类的包。
String getName()
          String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
 Package getPackage()
          获取此类的包。
String getName()
          String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
 Package getPackage()
          获取此类的包。
  Package|getPackage()
          获取此类的包。

 String|getName()
          String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。

boolean isArray()
          判定此 Class 对象是否表示一个数组类。
boolean isArray()
          判定此 Class 对象是否表示一个数组类。

 boolean|isArray()
          判定此
Class 对象是否表示一个数组类。

 String toString()
          将对象转换为字符串。
  String| toString ()
                    将对象转换为字符串。

isPrimitive()
          判定指定的 Class 对象是否表示一个基本类型。

 

 

package pengesoft.sun.pack;

public class ReflectTest {

 
 public static void main(String[] args) throws ClassNotFoundException {
  // TODO Auto-generated method stub
  String str1 = "abc";  //String为一个类,而不是基本类型
  Class cls1 = str1.getClass();
  Class cls2 = String.class;
  Class cls3 = Class.forName("java.lang.String");
  System.out.println(cls1 == cls2);   //
  System.out.println(cls1 == cls3);   //——true三个对象都具有相同的字节码,JVM中只保留一份该字节码,用该字节码可以创建多个对象
  System.out.println(cls1.isPrimitive());  //String不是基本类型,返回false;
  System.out.println(int.class.isPrimitive());  //int为基本类型,返回true;
  System.out.println(int.class == Integer.class); //int和Integer为不同的类型,有不同的字节码 ——false
  System.out.println(int.class == Integer.TYPE);  //TYPE常量返回该类的基本类型—— true
  System.out.println(int[].class.isPrimitive()); //数组不是原始类型,故返回false
  System.out.println(int[].class.isArray());  //判断是否是数组 ——true
 }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值