黑马程序员——反射类的基石-----Class类


                                          ----------------------     android培训      java培训   期待与您交流!    ----------------------   
                       

package j2se_develop;
/**
 * 反射类的基石-----Class类
 * 		Java程序中的各个Java类属于同一类事物,描述这类事物的Java类名就是Class
 * 		Class:对应各个类在内存中的字节码
 * 如何得到各个字节码对应的实例对象(Class类型)
 * 		1,类名.class,如:System.class;
 * 		2,对象.getClass();如:new Date().getClass();
 * 		3,Class.forName("类名"),如:Class.forName("java.util.Date");
 * 九个预定义Class实例对象
 * 		1,八个基本数据类型(boolean,byte,char,short,int,long,folat,double)
 * 		2,void;如:Class cla1=void.class;
 * 数组类型的Class实例对象
 * 		Class.isArray();
 * 
 * 总之,只要是在源程序中出现的类型,都有各自的Class实例对象,例如:int[],void等等
 * 
 * @author wjw
 *
 */
public class FanShe {
	public static void main(String[] args)throws ClassNotFoundException {
		Class c=void.class;
		System.out.println(c);
		method();
		
	}
	public static void method() throws ClassNotFoundException{
		String str="aaaa";
		Class cla1=str.getClass();
		Class cla2=String.class;
		Class cla3=Class.forName("java.lang.String");
		System.out.println(cla1==cla2);//返回true,说明这几种方式产生的字节码文件都是同一个
		System.out.println(cla1==cla3);//返回true,说明这几种方式产生的字节码文件都是同一个
		System.out.println(cla2==cla3);//返回true,说明这几种方式产生的字节码文件都是同一个
		System.out.println("---------------------------------------------------");
		System.out.println(cla1.isPrimitive());//返回false;判断该字节码是否是基本数据类型的字节码,String不是基本数据类型
		System.out.println(int.class.isPrimitive());//返回true;判断int的字节码是否是基本数据类型的字节码
		System.out.println(int.class==Integer.class);//返回false;基本数据类型的字节码和对应封装类型的字节码不一样
		System.out.println(int.class==Integer.TYPE);//返回true;该Integer.TYPE封装了基本数据类型的字节码,所以一样
		System.out.println(int[].class.isArray());//用isArray()判断
	}
	
}

                                          ----------------------     android培训      java培训   期待与您交流!    ----------------------   
                         详细请查看       http://edu.csdn.net/heima


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

King·Forward

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值