JAVA基础教程6:运行时类型识别(RTTI)

首先是运行时类型识别的例子:

package Pack1;
public class Sandbox1
{
    public static void main(String args[])
    {
        Car myCar = new Car();
        Class c1 = myCar.getClass();
        System.out.println(c1.getName());
        System.out.println(c1.getPackage());
        System.out.println(c1.getFields());
        System.out.println(c1.getMethods());        
    }
}

class Car
{
    private int m_speed;
    public int getM_speed() {
        return m_speed;
    }
    public void setM_speed(int m_speed) {
        this.m_speed = m_speed;
    }
}

输出结果如下:
Pack1.Car
package Pack1
[Ljava.lang.reflect.Field;@133c5982
[Ljava.lang.reflect.Method;@24c21495

下面探讨其具体实现过程:
class类是java语言定义的,在java.lang包中。
所有java类都会继承object类。在object类中存在getclass这一方法,用来取得对已经实例化class对象的引用。class类的构造函数是private,所以我们无法自己创建Class类的对象。当类被调入时,java虚拟器会自动创建class对象。

相关资料可以参考:http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值