Java反射机制(1)

Java程序中的各个Java类属于同一类事物,描述这一类事物的Java类名就是Class。


Class class1;中class1就是一份对应相关类型的字节码;

获取该份字节码的方式有以下三种(下面就以String为例子来作说明):

方式一: Class cls1 = String.class


方式二:String  str1 = new String();//先获取当前String的对像

                Class cls2 = str1.getClass();//根据当前String的对象调用该对象的特有的获取String字节码的方法.getClass()获取一份String的字节码,当然,方式一和方式二获取的字节码都是同一份字节码,都是String的字节码


方式三:Class  cls3  = Class.forName("java.lang.String");//首先去内存中搜寻有没有String这份字节码,如果没有,那么此时重新加载一份到Java虚拟机中。


以上三种方式获取的都是同一份String 的字节码,所以此时cls1 ==cls2 为true,另外的cls2==cls3也为true


另外的几个基本类型获取字节码的方式可以这样,如下:

                Class cls = Integer.TYPE;

                Class cls1 = Byte.TYPE;

Class cls2 = Long.TYPE;

Class cls3 = Short.TYPE;

Class cls4 = Double.TYPE;

Class cls5 = Boolean.TYPE;

Class cls6 = Character.TYPE;

Class  cls7 = Float.TYPE;

Class cls8 = Void.TYPE;



另外的判断是否为基本类型的字节码,可以通过这样的方式去判断:

       例如:int.class.isPrimitive();此时返回的应该是true,int是一个基本类型


判断一个字节码是否为数组的字节码的方式可以是这样:

      例如:int[].class.isArray();   其他的判断的说明可以参见API





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值