首页 > 代码库 > Class类相关
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类相关
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。