java class.getmethod_java反射之Class.getMethod与getDeclaredMethods()区别
Class對(duì)象的getMethods和getDeclaredMethods都是獲取類對(duì)象的方法。但是又有所不同。廢話不多說(shuō), 先看demo
packagecom.westward;public classCar {private voidbell(String time){
System.out.println("didi---"+time);
}public voidrun(){
System.out.println("running");
}
}
測(cè)試代碼:
packagecom.westward;importjava.lang.reflect.Method;public classCarTest {/***@paramargs*/
public static voidmain(String[] args) {
Class> car= Car.class;
Method[] methods1=car.getMethods();
Method[] methods2=car.getDeclaredMethods();
System.out.println("\n------------method.toString--------------");for(Method method1 : methods1) {
System.out.println(method1);
}
System.out.println("\n");for(Method method2 : methods2) {
System.out.println(method2);
}
System.out.println("\n------------method.getName--------------");for(Method method1 : methods1) {
System.out.println(method1.getName());
}
System.out.println("\n");for(Method method2 : methods2) {
System.out.println(method2.getName());
}
}
}
Output:
------------method.toString--------------
public void com.westward.Car.run()
public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException
public final void java.lang.Object.wait() throws java.lang.InterruptedException
public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
public boolean java.lang.Object.equals(java.lang.Object)
public java.lang.String java.lang.Object.toString()
public native int java.lang.Object.hashCode()
public final native java.lang.Class java.lang.Object.getClass()
public final native void java.lang.Object.notify()
public final native void java.lang.Object.notifyAll()
public void com.westward.Car.run()
private void com.westward.Car.bell(java.lang.String)
------------method.getName--------------
run
wait
wait
wait
equals
toString
hashCode
getClass
notify
notifyAll
run
bell
總結(jié):
getMethod():獲取當(dāng)前類及所有繼承的父類的public修飾的方法。僅包括public
getDeclaredMethod():獲取當(dāng)前類的所有方法,包括public/private/protected/default修飾的方法。
method.getName:打印方法的名稱
method.toString:打印方法的完整簽名
總結(jié)
以上是生活随笔為你收集整理的java class.getmethod_java反射之Class.getMethod与getDeclaredMethods()区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 暗黑再临Java正版_暗黑破坏神之墨菲斯
- 下一篇: java 字符串过长_idea java