java中的Class类和反射

java中的Class类和反射

ID:40557130

大小:16.83 KB

页数:4页

时间:2019-08-04

java中的Class类和反射_第1页
java中的Class类和反射_第2页
java中的Class类和反射_第3页
java中的Class类和反射_第4页
资源描述:

《java中的Class类和反射》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、javaClass类简介一,Class类有什么用?  Class类(注意Class和class的区别。Class是一个类类型,跟String、Integer是同一类型概念;class是一个关键字,跟public是同一类型概念)的实例表示java应用运行时的类(classandenum)或接口(interfaceandannotation)(每个java类运行时都在JVM里表现为一个Class对象,可通过类名.class,类型.getClass(),Class.forName("类名")等方法获取Class对象)。数组同样也被映射为Cla

2、ss对象,所有具有相同元素类型和维数的数组都共享该Class对象。基本类型boolean,byte,char,short,int,long,float,double和关键字void同样表现为 Class 对象。Class对象通过newInstance()函数实例化就转化成相应的类对象了。 二,Class类的特征   Class类没有公有的构造方法,它由JVM自动调用(在new对象或者加载-classLoader时)。   下面的方法作用是打印出对象的classname: voidprintClassName(Objectobj){   

3、     System.out.println("Theclassof"+obj+                           "is"+obj.getClass().getName());  } 同样可以根据classliteral获得classname(此次Foo是类名): System.out.println("ThenameofclassFoois:"+Foo.class.getName());//Foo是类名,Foo.class就变成了Class类型的对象了(只不过是Foo对应的)//你可以将Foo改为void尝试下。

4、三,Class的主要方法Class类的方法还是挺多的。主要是用于得到运行时类的相关信息(可用于反射)。 重要的几个方法:1,publicstaticClassforName(StringclassName):native方法,动态加载类。非常重要。      如在sql中动态加载驱动程序:class.forName(sqlDriver);2,publicTnewInstance():根据Class对象所对应的类类型新建一个类对象,用于反射。非常重要。      可用在反射中构建对象,调用对象方法:      Classdouble

5、Class=Class.forName("java.lang.Double");       ObjectobjDouble=doubleClass.newInstance();      如在javaBean中就应用了这个方法,因次java默认要有一个无参构造函数。3,publicClassLoadergetClassLoader():获得类的类加载器Bootstrap ,Extension,Systemorusercustom     ClassLoader(一般为systemclassloader)。重要。 4,publicStr

6、inggetName():获取类或接口的名字。记住enum为类,annotation为接口。重要5,publicnativeClassgetSuperclass():获取类的父类,继承了父类则返回父类,否则返回java.lang.Object。返回Object的父类为空-null。一般6,publicjava.net.URLgetResource(Stringname):根据字符串获得资源。7,其他类  publicbooleanisEnum():判断是否为枚举类型。 publicnativebooleanisArray():判断是否为

7、数组类型。 publicnativebooleanisPrimitive():判断是否为基本类型。 publicbooleanisAnnotation():判断是否为注解类型。publicPackagegetPackage():反射中获得package,如java.lang.Object的package为java.lang。publicnativeintgetModifiers() :反射中获得修饰符,如publicstaticvoid等。publicFieldgetField(Stringname):反射中获得域成员。publicFi

8、eld[]getFields():获得域数组成员。    publicMethod[]getMethods():获得方法。publicMethodgetDeclaredMethod(Stringname,C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。