invokeinterface.java

来自「gcc的组建」· Java 代码 · 共 56 行

JAVA
56
字号
import java.lang.reflect.*;interface one{  int n(int N);}interface two{  int nn(int N);}interface three{  int nnn(int N);}class arse implements one, two{  public int n(int N) { return N; }  public int nn(int N) { return N*2; }}class arsey implements two, one, three{  public int n(int N) { return N*4; }  public int nn(int N) { return N*8; }  public int nnn(int N) { return N*16; }}public class InvokeInterface extends arse{  int f ()  {	return flunk.nn(1);  }  static two flunk = new arse();  static three flunkey = new arsey();  public static void main(String[] s) throws Throwable  {	Class[] argtypes = {Integer.TYPE};	Method m = two.class.getMethod("nn", argtypes);	Object[] args = {new Integer(1)};	System.out.println(flunk.nn(1));	System.out.println(m.invoke(new arse(), args));	m = arse.class.getMethod("nn", argtypes);	System.out.println(m.invoke(new arse(), args));	m = two.class.getMethod("nn", argtypes);	System.out.println(m.invoke(new arsey(), args));	m = three.class.getMethod("nnn", argtypes);	System.out.println(m.invoke(new arsey(), args));		m = arsey.class.getMethod("nnn", argtypes);	System.out.println(m.invoke(new arsey(), args));	  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?