• objec类中方法介绍


    java.lang.object,是Java中所有类(当然Object类除外)的终极父类,其中数组也继承了Object类,但是接口是不继承Object类的。

    Object中方法如下(11个):

      Class<> getClass();
    
      boolean equals(Object obj);
      int hashCode();
    
      protected Object clone();
      protected void finalize();
    
      String toString();
    
      void wait();
      void wait(long timeout);
      void wait(long timeout, int nanos);
    
      void notify();
      void notifyAll();

    1、protected Object clone();

    作用:创建并返回此对象的一个副本。

    注意

     - 要执行clone()方法,对象所属的类必须实现Cloneable接口,否则会抛出CloneNotSupportedException。

     - 所有的数组都被视为实现了Cloneable接口;

     - Object类本身不实现Cloneable接口;

     - 谨记返回的是Object类型,所以有时候可能需要强制类型转换。

    如何工作

    Object将clone()作为一个本地方法来实现,代码是存放在本地代码库的。当代码执行时,将会检查调用对象的类(或者父类)是否实现了java.lang.Cloneable接口,如果没有实现,则会抛出异常。如果实现,clone()则会创建一个新的对象,并将原来的对象的内容复制到新对象中,最后返回这个新对象的引用。

    浅克隆:也叫做浅拷贝,仅仅复制对象本身的成员变量,对于该对象引用变量中引用的对象,不创建副本,只是复制引用变量,指向同一个对象。这样你对副本进行修改的时候,就可能影响到源本。如果一个对象中的成员变量都是基本类型,或者其引用的对象都是不可改变的,使用浅克隆效果很好。

    深克隆:也叫做深复制,不仅会复制此时对象的成员变量,对于该对象引用的对象,深克隆也会对其创建副本。

    2、boolean equals(Object obj);

    不要让执行的勤奋掩盖思考的懒惰!
  • 相关阅读:
    Mysql 触发器
    Mysql 的变量
    Mysql 事务
    重置mysql管理员密码
    mysql数据备份
    Mysql的联合查询
    Mysql的存储引擎
    数据库的视图
    数据库子查询
    数据库外键
  • 原文地址:https://www.cnblogs.com/zhiyangjava/p/6571399.html
Copyright © 2020-2023  润新知