当前位置: 首页 > news >正文

厦门做网站培训云南网站新备案制

厦门做网站培训,云南网站新备案制,酒店网站解决方案,网站开发 兼职挣钱吗Object 类中的公共方法详解 1、clone() 方法2、equals(Object obj) 方法3、hashCode() 方法4、getClass() 方法5、wait() 方法6、notify() 和 notifyAll() 方法 💖The Begin💖点点关注,收藏不迷路💖 在 Java 中,Object…

Object 类中的公共方法详解

  • 1、clone() 方法
  • 2、equals(Object obj) 方法
  • 3、hashCode() 方法
  • 4、getClass() 方法
  • 5、wait() 方法
  • 6、notify() 和 notifyAll() 方法


💖The Begin💖点点关注,收藏不迷路💖

在 Java 中,Object 类是所有类的超类(或称为父类)。它包含了一些重要的公共方法,这些方法为所有 Java 对象提供了基础的行为。下面我们将详细探讨这些公共方法。

1、clone() 方法

clone() 方法是 Object 类中的一个保护方法用于创建并返回此对象的一个拷贝。 这个拷贝是一个 浅拷贝,意味着如果对象中的字段是引用类型,那么拷贝的只是引用地址,而不是引用的对象本身。

注意:只有实现了 Cloneable 接口的类才可以调用 clone() 方法,否则会抛出 CloneNotSupportedException 异常。

public class MyClass implements Cloneable {  @Override  protected Object clone() throws CloneNotSupportedException {  return super.clone();  }  
}  MyClass original = new MyClass();  
MyClass cloned = (MyClass) original.clone();

2、equals(Object obj) 方法

equals() 方法在 Object 类中用于比较两个对象是否相等。 在 Object 类中,equals() 方法的默认实现是比较两个对象的引用是否相等,这与 == 操作符的行为是一致的。

但是,在实际开发中,我们经常需要比较对象的内容是否相等,因此子类通常会重写 equals() 方法。

@Override  
public boolean equals(Object obj) {  if (this == obj) return true;  if (obj == null || getClass() != obj.getClass()) return false;  MyClass other = (MyClass) obj;  // 比较对象的字段是否相等  return /* 比较字段的逻辑 */;  
}

3、hashCode() 方法

hashCode() 方法返回该对象的哈希码值。 哈希码在哈希表中非常重要,因为哈希表通过哈希码来快速定位对象在表中的位置。当重写 equals() 方法时,通常也需要重写 hashCode() 方法,以确保相等的对象具有相同的哈希码。

@Override  
public int hashCode() {  // 生成哈希码的逻辑  return /* 哈希码值 */;  
}

4、getClass() 方法

getClass() 方法是一个 final 方法,用于返回表示此 Object 运行类(由哪个类创建的实例)的 Class 对象。

Class<?> clazz = obj.getClass();

5、wait() 方法

wait() 方法使当前线程等待该对象的锁,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者等待的时间超过了指定的时间。当前线程必须是该对象的拥有者,也就是具有该对象的锁。

synchronized (obj) {  while (/* 等待条件 */) {  obj.wait(); // 等待,直到其他线程调用 notify 或 notifyAll  }  // 处理等待后的逻辑  
}

6、notify() 和 notifyAll() 方法

notify() 方法唤醒在此对象监视器上等待的单个线程(如果有的话)。

notifyAll() 方法唤醒在此对象监视器上等待的所有线程。这两个方法也必须在同步块或同步方法中调用。

synchronized (obj) {  // 改变等待条件  obj.notify(); // 唤醒一个等待的线程  // 或  obj.notifyAll(); // 唤醒所有等待的线程  
}

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖
http://www.yayakq.cn/news/591904/

相关文章:

  • 英文企业网站源码查信息的网站有哪些
  • 简要概括自建网站的优缺点中山专业外贸网站建设
  • 娱乐网站建设怎么样怎么做彩票平台网站吗
  • 怎么cms做网站如何学习建设网站
  • 叫什么公子的网站做ppt的河北邯郸区号
  • 做公司网站的时间网站流量分析的指标有哪些
  • 网站名称个人哈尔滨网站开发联系薇
  • 查询网站服务器地址送菜上门网站app如何做
  • 手机网站改app建设银行网银盾连接不上网站
  • 网站仿站茶网站开发的意义目的
  • 中国石油销售公司网站建设家教中介网站开发
  • 站长工具无忧杭州网站建设洛洛科技
  • 东莞做外贸网站公司免费网站建设是什么
  • 湘潭本地的网站建设公司有做网站需求的客户
  • 手机网站建设地址无锡建设网站制作
  • wordpress建站产品导入不同目录建设一个平台网站需要多少钱
  • 优秀 网站设计 蓝色wordpress ajax 接口
  • 淄博高端网站设计网站的默认首页
  • 西安网站建设 招聘制作软件网站
  • 手机网页制作网站建设衡水做企业网站的价格
  • 百度商桥 网站慢网站建设的方案费用
  • 网站制作与建设教程下载邯郸做移动网站的公司
  • 做pc端网站咨询广州好玩的地方和景点
  • 监控视频做直播网站做电子商城网站注意事项
  • 自己做的网站怎么维护建立网站地图
  • 网页设计作品网站哪里有免费的网站模板
  • 做标书需要用到哪些网站查资料优化网站排名茂名厂商
  • 网站特点怎么写建站公司兴田德润在哪里
  • 建设电子商务网站所应用的技术网站策划书包含的内容
  • 途牛网站建设方案做推广都有什么网站