⑴ java面試題:獲得一個類的類對象有哪些方式
給你介紹3種獲得類對象方式:
第一種方式:通過類本身來獲得對象
Classclassname=this.getClass();
第二種方式:通過子類的實例獲取父類對象
ClassNamecn=newClassName();
UserClass=cn.getClass();
ClassSubUserClass=UserClass.getSuperclass();
第三種方式:通過類名加.class獲取對象
ClassForClass=**.**.ClassName.class;(類在包中的路徑加.class)
第四種方式:通過類名的字元串獲取對象
ClassForName=Class.forName("**.**.ClassName");
這種方式在jdbc中常用到。
⑵ 利用java反射機制,通過一個對象獲得完整的包名和類名
1、Test t = new Test().Class clazz = t.getClass().System.out.println(clazz.getCanonicalName()).System.out.println(clazz.getSimpleName()).
2、public class TestReflect {public static void main(String[] args) throws Exception {TestReflect testReflect = new TestReflect().System.out.println(testReflect.getClass().getName()).// 結果 net.xsoftlab.ke.TestReflect.}}
3、Java程序
⑶ java 獲取對象的數據類型的方法
使用getClass方法可以獲取一個對象的類型類,然後在調用該類的方法可以獲取該類的相關信息,比如父類的名字,該類的名字等等:
packagetest;
importjava.lang.reflect.Field;
importjava.lang.reflect.Method;
publicclassDemo2{
Stringusername="sss";
publicstaticvoidmain(String[]args),IllegalAccessException,NoSuchFieldException,SecurityException,NoSuchMethodException{
Demo2t=newDemo2();
if(Demo2.class==t.getClass()){
System.out.println("equal");
}
//獲取類名
System.out.println(t.getClass().getName());
//獲取父類名
System.out.println(t.getClass().getSuperclass());
//獲取類中某個屬性
Fieldf=t.getClass().getField("username");
//獲取類中某個方法
Methodm=t.getClass().getDeclaredMethod("main",String[].class);
}
}