[Java] Class对象

Java程序在运行时每个类都会对应一个Class对象,可以从Class对象中得到与类相关的信息,例如:

-----------------------------------------------------------------------

public class MyClass {

 public static void main(String[] args) {
  String name = "ZhuJun";
        Class c = name.getClass();
        System.out.println("getName: " + c.getName());
        System.out.println("isInterface: " + c.isInterface());
        System.out.println("isPrimitive: " + c.isPrimitive());
        System.out.println("isArray: " + c.isArray());
        System.out.println("SuperClass: " + c.getSuperclass().getName());
 }
}
输出结果:

getName: java.lang.String
isInterface: false
isPrimitive: false
isArray: false
SuperClass: java.lang.Object

-----------------------------------------------------------------------

对于简单类型boolean, byte, char, short, int, long, float, double以及关键字void,可以通过类常量class取得对应的Class对象,例如:

-----------------------------------------------------------------------

public class MyClass {
    public static void main(String[] args) {
        System.out.println(boolean.class.getName());
        System.out.println(boolean.class.isPrimitive());
        System.out.println(void.class.getName());
    }
}

输出结果:

boolean
true
void

-----------------------------------------------------------------------

Class类有一个forName()静态方法,可以根据传入的类名称(Class Name)得到相应类的实例,例如:

-----------------------------------------------------------------------

class TestClass {

    void say(){

          System.out.println("This is instance of TestClass"):

     }
}
                                                                               
public class Main {
    public static void main(String[] args) {
        try {
            Class c = Class.forName("TestClass"); 
            TestClass testClass = c.newInstance();  
            testClass.say();
        }
        catch(ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

输出结果:

This is instance of  TestClass

-----------------------------------------------------------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值