简单的面试题

重载与重写

重载 发生在同一个类中,方法名相同,参数的类型、个数、顺序不同;方法的返回值和修饰符对是不是重载方法没有影响。

重写 发生在父子类中,方法名和参数相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为 private 或者 final 则子类就不能重写该方法。

反射(动态获取类的信息)

反射方法就是通过一个对象找到一个类的信息(可以获得类名,构造器,方法)

Class.forName("类的全包名");

对象.getClass();

Class clazz = 类.class;

 

JDK 动态代理(静态代理,加上反射机制)

使用步骤

创建接口及实现类

实现代理处理器:implement InvokationHandler ,实现 invoke(Proxy proxy,Method method,Object[] args) 方法(这里的方法的内容是需要被代理的方法,和代理自己的方法

通过 Proxy.newProxyInstance(ClassLoaderloader, Class[] interfaces, InvocationHandler h) (其中的参数都可以通过java 的反射获取·)获得代理类

通过代理类调用方法。

简单的面试题

上一篇:Npm 安装提示 EUNSUPPORTEDPROTOCOL 错误


下一篇:动态规划问题(十四)自动换行问题