導航:首頁 > 編程語言 > java獲取方法調用

java獲取方法調用

發布時間:2022-10-01 08:29:29

『壹』 java中的一個類怎麼調用另一個類中的方法

//先定義一個類

(1)java獲取方法調用擴展閱讀:

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 。

『貳』 Java里如何獲取調用此方法的方法

心情好 告訴你吧 Thread.currentThread().getStackTrace()[1]是你當前方法執行堆棧 Thread.currentThread().getStackTrace()[2]就是上一級的方法堆棧 以此類推

『叄』 java 獲取調用此方法的方法的註解

importjava.lang.annotation.Retention;
importjava.lang.annotation.RetentionPolicy;


@Retention(value=RetentionPolicy.RUNTIME)
public@interfaceMyAnnotation{
Stringname();

}

publicclassAnnonTestA{

publicvoidmethodA(){

}

@MyAnnotation(name="111")
publicvoidmethodA(Stringa)throwsException{
AnnonTestB.methodB("methodA",String.class);
}
}
importjava.lang.annotation.Annotation;
importjava.lang.reflect.Method;

publicclassAnnonTestB{

publicstaticvoidmethodB(StringmethodName,Class<?>...parameterTypes)throwsException{
AnnonTestAannonTestA=newAnnonTestA();
//獲取AnnotationTest2的Class實例
Class<AnnonTestA>c=AnnonTestA.class;
//獲取需要處理的方法Method實例
Methodmethod=c.getMethod(methodName,parameterTypes);
Method[]methods=c.getMethods();
//判斷該方法是否包含MyAnnotation註解
if(method.isAnnotationPresent(MyAnnotation.class)){
//獲取該方法的MyAnnotation註解實例
MyAnnotationmyAnnotation=method
.getAnnotation(MyAnnotation.class);
//執行該方法
// method.invoke(annonTestA,"12345");
//獲取myAnnotation
Stringvalue1=myAnnotation.name();
System.out.println(value1);
}
//獲取方法上的所有註解
Annotation[]annotations=method.getAnnotations();
for(Annotationannotation:annotations){
System.out.println(annotation);
}
}
}
importjava.io.*;
importjava.lang.annotation.Annotation;
importjava.lang.reflect.Method;

publicclassTestString{
publicstaticvoidmain(String[]args)throwsException{
AnnonTestAannonTestA=newAnnonTestA();
annonTestA.methodA("123");
}
}

代碼都給上了,不明白再追問吧。

參考地址:http://blog.csdn.net/bao19901210/article/details/17201173

『肆』 java 獲取方法調用者 的參數

區分是調用哪個test是由你調用的時候的參數決定的。
例如:調用時test(1),那麼你調用的是
test(int i){
new A().getMethod();
}
這個方法
如果調用的時候是test("str")調用的就是
test(String i){
new A().getMethod();
}
了。

『伍』 java 獲得調用方法對象。

你得到的那個類就是你想要的對象,因為不可能得到數據類型的,你得到的就是那個類的一個實例,也就是正在調用那個方法的對象。

『陸』 java獲得是哪個方法調用當前的方法

// 獲得當前類名
String clazz = Thread.currentThread() .getStackTrace()[1].getClassName();
// 獲得當前方法名
String method = Thread.currentThread() .getStackTrace()[1].getMethodName();
System.out.println("class name: " + clazz + " Method Name " + method);

『柒』 Java中,怎麼在一個方法裡面獲得調用此方法的對象

如果是調用自己的成員函數,沒什麼條件。
如果調用的別的類中的成員函數,如果是該函數是非靜態,需要先生成該類的對象再調用。

『捌』 java怎麼調用方法

java類有兩種方法一種是類方法就是用static修飾的,一種是實例方法,就是沒有static修飾的方法。類方法可以同時類名.方法名的方式調用。而實例方法必須先生存類的實例在通過實例.方法名的方式調用。例如: public class MethodCall {     public static void main(String[] args)     {         Test.sayStatic();         Test test = new Test();         test.sayInstance();     } } class Test {     public static void sayStatic()     {         System.out.println("這是一個靜態方法。");     }     public void sayInstance()     {         System.out.println("這是一個實例方法。");     }

『玖』 java asm label獲取調用方法

通過反射調用。
java動態代理是利用反射機制生成一個實現代理介面的匿名類,在調用具體方法前調用InvokeHandler來處理。而cglib動態代理是利用asm開源包,對代理對象類的class文件載入進來,通過修改其位元組碼生成子類來處理。
ASM 是一個 Java 位元組碼操控框架,它能被用來動態生成類或者增強既有類的功能,ASM 可以直接產生二進制 class 文件,也可以在類被載入入 Java 虛擬機之前動態改變類行為。

閱讀全文

與java獲取方法調用相關的資料

熱點內容
燕趙紅楓app如何下載 瀏覽:867
php查殺軟體 瀏覽:877
教育管理學pdf 瀏覽:547
伺服器均衡怎麼使用 瀏覽:626
linux中jps 瀏覽:954
單片機實驗感想 瀏覽:560
程序員級別數學演算法邏輯 瀏覽:899
2k21公園怎麼換伺服器 瀏覽:724
php釋放資料庫連接 瀏覽:722
php網頁抓取工具 瀏覽:726
android設置對齊方式 瀏覽:23
linux創建網頁 瀏覽:280
凈化車間門演算法 瀏覽:934
安卓怎麼搞jpg 瀏覽:546
如來佛祖命令雷神去下界 瀏覽:856
新電腦管家下載好怎麼解壓 瀏覽:530
php獲取介面數據 瀏覽:767
最後的命令 瀏覽:921
如何添加手機app桌面快捷圖標 瀏覽:427
ui設計師與程序員 瀏覽:419