MyInterface.java Source code

Java tutorial

Introduction

Here is the source code for MyInterface.java

Source

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

interface MyInterface {
    void method();
}

class MyInterfaceImpl implements MyInterface {
    public void method() {
        System.out.println("method");
    }
}

class ProxyClass implements InvocationHandler {
    Object obj;

    public ProxyClass(Object o) {
        obj = o;
    }

    public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
        Object result = null;
        try {
            System.out.println("before the method is called ");
            result = m.invoke(obj, args);
        } catch (Exception eBj) {
        } finally {
            System.out.println("after the method is called");
        }
        return result;
    }
}

public class Main {
    public static void main(String[] argv) throws Exception {
        MyInterface myintf = (MyInterface) Proxy.newProxyInstance(MyInterface.class.getClassLoader(),
                new Class[] { MyInterface.class }, new ProxyClass(new MyInterfaceImpl()));
        myintf.method();
    }
}