JAVA面试题(16)

本文首发于cartoon的博客

  • 为什么要使用克隆?
    • 克隆对象可能包括已经修改过的属性,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

猜你喜欢

转载自blog.csdn.net/cartoon_/article/details/90113045