Class类相关
Posted Kooing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Class类相关相关的知识,希望对你有一定的参考价值。
Class类是java.lang包中的类,该类的实例可以帮助程序创建其他类的实例或者取得其他类的对象的内部信息
使用class类获得一个类相关的class类(注意得到的是class类,不是相关的类) 比如类名 classFuck类
有类方法(静态方法)public static Class forName(String classFuck)throw ClassNotFoundException
然后我们用Class对象调用以下方法(classFuck必须有一个无参构造函数
public Object newInstance() throws InstantiationException,IllegalAccessException
我们就可以拥有了一个classFuck类的实体
try{ Class cs=Class.forName("A");//这里用string的形式 A a=(A)cs.newInstance();//这里用回一个(A) System.out.println(a.f()); } catch(Exception a){ System.out.println(a.getMessage()); }
如果我们有了一个实例了,我们可以用getClass()的方法,返回一个和对象相关class 实例
这个class有以下方法可以了解到classfuck类的信息
String getName()
Constructor[] getConstructors()//返回类的所有构造方法
Field[] getDeclaredFields()//返回类的全部成员变量
Method[] getDeclareMethods()//返回类的全部方法
import java.util.regex.*; import java.lang.reflect.*; import java.util.Scanner; public class test{ public static void main(String args[]){ A a=new A(); Class b=a.getClass(); System.out.println(b.getName()); Constructor[] c=b.getDeclaredConstructors(); Field[] d=b.getDeclaredFields(); Method[] e=b.getDeclaredMethods(); for(int i=0;i<c.length;i++){ System.out.println(c[i].toString()); } for(int i=0;i<d.length;i++){ System.out.println(d[i].toString()); } for(int i=0;i<e.length;i++){ System.out.println(e[i].toString()); } } } class A{ int a=2,b=3; int f(){ return a*b; } void ff(){ System.out.println("fuck"); } A(int a,int b){ this.a=a; this.b=b; } A(){} }
以上是关于Class类相关的主要内容,如果未能解决你的问题,请参考以下文章
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段