2016-01-08 55 views
-1

我有File1.java和File2.java。在File2我希望它是這樣的:在另一個Java文件中執行Java文件

private static void SomeMethod() { 
    // execute ALL of File1 
    // (without copy and pasting it all) 
} 

我該如何做(簡單地說)?!

+0

你想執行的'File1'的接口是什麼***全部是? –

+0

你的意思是說你有兩個類'File1'和'File2'? – Jason

+0

請更具體一點,你的意思是:'File2'擴展'File1'? – thst

回答

1

以反思的方式。

public class File2 { 
    private static void SomeMethod() throws InvocationTargetException, IllegalAccessException { 
     File1 file1 = new File1(); 
     for (Method method : File1.class.getDeclaredMethods()){ 
      method.invoke(file1); 
     } 
    } 

    public static void main(String[] args) 
     throws InvocationTargetException, IllegalAccessException { 
     File2.SomeMethod(); 
    } 
} 

public class File1 { 
    public void say(){ 
     System.out.println("say"); 
    } 

    public void talk(){ 
     System.out.println("talk"); 
    } 
} 

但是,如果您在File1中有任何參數方法,您應該先標識它們,然後將參數傳遞給invoke方法。