Java拾遗——Class类

Class类型的对象可以保存一个Java类型的信息。说起来有些令人费解,还是用例子说话吧。

Object类中的getClass方法会返回一个Class类型的实例。例如,如果有

ClassTest c;
...
Class cl=c.getClass();

则cl对象就保存了ClassTest类的一些信息。最常用的Class方法是getName,它会以字符串的形式返回类的名字。例如下面的代码会显示类名字符串“ClassTest”:

public   class  ClassTest
{
    
public static void main(String[] args)
    
{
        ClassTest c
=new ClassTest();
        Class cl
=c.getClass();
        System.out.println(cl.getName());
    }

}

Class类的静态方法forName(String)可以从一个字符串获得Class对象:

String className = " java.util.Date " ;
Class cl
= Class.forName(className);

另一种获得Class对象的方法也很简单。如果T是任意的Java类型(不一定是类,也可以是像int、double之类的基本类型),那么T.class就表示相应的类对象。

Class cl1 = int . class ;
Class cl2
= Double[]. class ;

另一个很有用的方法是newInstance(),它可以从一个Class对象创建出一个它所表示的类的实例。例如下面的代码会创建一个Date对象:

String s = " java.util.Date " ;
Object m
= Class.forName(s).newInstance();

newInstance方法调用默认的构造器来创建对象。如果没有默认的构造器,将抛出一个异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值