Java面试题4

第三章 JavaSE 高级
一、Java中的反射

  1. 说说你对 Java 中反射的理解
    Java 中 的 反 射 首 先 是 能 够 获 取 到 Java 中 要 反 射 类 的 字 节 码 , 获 取 字 节 码 有 三 种 方 法 , 1.Class.forName(className) 2.类名.class 3.this.getClass()。然后将字节码中的方法,变量,构造函数等映射成 相应的 Method、Filed、Constructor 等类,这些类提供了丰富的方法可以被我们所使用。

二、Java中的动态代理

  1. 写一个 ArrayList 的动态代理类(笔试题)
    final List list = new ArrayList();
    List proxyInstance = (List)Proxy.newProxyInstance(list.getClass().getClassLoader(), list.getClass().getInterfaces(),
    new InvocationHandler() {
    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { return method.invoke(list, args);
    }
    });
    proxyInstance.add(“你好”);

你可能感兴趣的:(面试题)