JAVA面试题16

4次阅读

共计 479 个字符,预计需要花费 2 分钟才能阅读完成。

  • 为什么要使用克隆?

    • 克隆对象可能包括已经修改过的属性,new 出来的对象属性都还是初始化的值。
    • 若直接利用指针指向原有对象,改变原对象的属性值时,指针所指对象的值也会改变
    • clone 复制的对象与原对象是相互独立存在
  • 如何实现对象克隆?

    • 克隆主要分为浅克隆和深克隆
    • 步骤

      1. 被复制类需实现 Clonenable 接口
      2. 重写 clone 方法,访问修饰符设为 public,方法中调用调用 super.clone 获取复制对象
  • 深拷贝和浅拷贝区别是什么?

    • 两者都能生成与原对象独立的克隆对象
    • 若类中含有引用对象,浅拷贝不能生成独立存在的引用变量,深拷贝可以
    • 深拷贝不能从根本上解决链式克隆的问题。类中若含有较多引用变量,则应该通过序列化和反序列化实现对象的真正克隆
  • JSP 和 Servlet 有什么区别?

    • JSP 是前端页面,带有后端接口引用;Servlet 是运行在后端的小程序
    • JSP 通常作为 View 层负责用户交互,Servlet 通常作为 Controller 负责前端与 Java bean 之间的交互以及页面的控制
    • JSP 侧重于视图,Servlet 侧重于逻辑
    • JSP 是 Servlet 的扩展,JSP 编译后实际上是 Servlet
正文完
 0