Java是面向对象的,Object是所有对象的超类(不是继承,也不是实现接口)

Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。

如果你

什么是Object类

编辑

Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。

在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类。

可以使用类型为Object的变量指向任意类型的对象。

Object类有一个默认构造方法pubilc Object(),在构造子类实例时,都会先调用这个默认构造方法。

Object类的变量只能用作各种值的通用持有者。要对他们进行任何专门的操作,都需要知道它们的原始类型并进行类型转换。例如:

Object obj = new MyObject();

MyObject x = (MyObject)obj;

方法预览

编辑

Object()

默认构造方法

clone()

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

equals(Object obj)

指示某个其他对象是否与此对象“相等”。

finalize()

当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

getClass()

返回一个对象的运行时类。

hashCode()

返回该对象的哈希码值。

notify()

唤醒在此对象监视器上等待的单个线程。

notifyAll()

唤醒在此对象监视器上等待的所有线程。

toString()

返回该对象的字符串表示。

wait()

导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。

wait(long timeout)

导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量。

wait(long timeout, int nanos)

导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量。

方法使用说明

编辑

1、equals()方法:用于测试某个对象是否同另一个对象相等。它在Object类中的实现是判断两个对象的值是否相等。这种测试用处不大,因为即使内容相同的对象,内存区域也是不同的。如果想测试对象是否相等,就需要覆盖此方法,进行更有意义的比较。例如

class Employee{

... //此例子来自《java核心技术》卷一

public boolean equals(Object otherObj){

//快速测试是否是同一个对象

if(this == otherObj) return true;

//如果显式参数为null,必须返回false

if(otherObj == null) return false;

//如果类不匹配,就不可能相等

if(getClass() != otherObj.getClass()) return false;

//现在已经知道otherObj是个非空的Employee对象

Employee other = (Employee)otherObj;

//测试所有的字段是否相等

return name.equals(otherName)

&& salary == other.salary

&& hireDay.equals(other.hireDay);

}

}

补充

编辑

Java语言规范要求equals方法具有下面的特点:

自反性:对于任何非空引用值 x,x.equals(x) 都应返回 true。

对称性:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true。

传递性:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true,并且 y.equals(z) 返回 true,那么 x.equals(z) 应返回 true。

一致性:对于任何非空引用值 x 和 y,多次调用 x.equals(y) 始终返回 true 或始终返回 false,前提是对象上 equals 比较中所用的信息没有被修改。

对于任何非空引用值 x,x.equals(null) 都应返回 false。

从这里看出,上面的例子是Java规范的equals方法的标准实现,推荐用上面例子的写法实现类的equals方法。

java 父类 超类_Java超类-java.lang.object相关推荐

  1. java超类_java超类

    this是java使用的一个特定意义的引用,它指向当前对象自身.(指向该关键词所在的类,,用来引用自己所在的类中的成员变量或方法.) super关键词指向该关键词所在类的父类,用来引用父类中的成员变量 ...

  2. java 父类构造_java 父类构造器

    当创建任何java对象时,程序总会首先调用系统的父类非静态初始化块(隐式执行)和父类构造器(从object开始(java程序中所有类的最终父类都是java.lang.Object类,使用语句super ...

  3. java if 空指针_java 空指针异常(java.lang.NullPointerException)

    在Java中对值为null的指针调用任何方法,就会引发空指针异常(java.lang.NullPointerException).空指针异常绝对 是Java中最难查找和调试的一种异常,你永远无法得到任 ...

  4. java序列化 反序列化_Java序列化– Java序列化

    java序列化 反序列化 Serialization in Java was introduced in JDK 1.1 and it is one of the important feature ...

  5. java native 接口_Java本地接口--Java Native Interface (JNI)

    一.方法介绍 java native方法是指本地方法,当在方法中调用一些不是由java语言写的代码或者在方法中用java语言直接操纵计算机硬件时要声明为native方法. java中,通过JNI(Ja ...

  6. eclipse java web乱码_JAVA and JAVA WEB with TOMCAT and ECLIPSE 学习过程中遇到的字符乱码问题及解决方法汇总(随时补充)...

    JAVA语言具有跨平台,unicode字符集编码的特点. 但是在开发过程中处理数据时涉及到的字符编码问题零零散散,尤其是处理中文字符时一不留神就可能出现一堆奇奇怪怪的符号,俗称乱码. 对于乱码,究其原 ...

  7. java直接量_Java教程:Java直接量(字面量)

    Java教程直接量是指在程序中通过源代码直接给出的值,例如在int a = 5;代码中,为变量 a 所分配的初始值 5 就是一个直接量. 直接量的类型 并不是所有的数据类型都可以指定直接量,能指定直接 ...

  8. java 序列化 兼容_Java序列化 – java.io.InvalidClassException本地类不兼容

    我有一个public类,它实现Serializable,它是由多个其他类扩展.只有那些子类曾经序列化过 – 永远不是超类. 超类定义了一个serialVersionUID. 我不知道是否重要,但它没有 ...

  9. java获取屏幕截图_java 利用java运行时的方法得到当前屏幕截图的方法

    将截屏图片保存到本地路径: package com.test; import java.awt.AWTException; import java.awt.Dimension; import java ...

最新文章

  1. 2022-2028年中国新能源公交车行业深度调研及投资前景预测报告
  2. Redis集群的重启
  3. php list 转tree,PHP 数组转树形结构
  4. wxWidgets:wxHelpController类用法
  5. Using libcurl in VC++
  6. 《机器学习》 —— 第二章:模型评估与选择 学习笔记
  7. spring BeanUtils.copyProperties浅拷贝之特殊的Boolean
  8. hypermesh 复合材料_【技术邻】HyperMesh复合材料建模——坐标系调整
  9. 把windows键盘作为xfce环境中的打开Applications
  10. 异常:Get请求提交过来的中文参数乱码
  11. layui复选框:被js操作checked切换并显示状态(含案例、代码)
  12. Android 实现瀑布流的两种思路
  13. sql 树状结构中知道 父节点与孙节点_数据结构之(树)
  14. ios知识点扩充(1)
  15. 理解苏宁:互联网转型之战
  16. oppor829t如何刷机_OPPO R829T卡刷刷机图文教程
  17. 速度上车,全网无损音乐,付费内容任你免费下载
  18. 电子签章服务器位置的确定,一文看懂如何实现服务端电子签章
  19. Android Expandable List View
  20. 模块化笔记软件 Anytype 综合评测

热门文章

  1. 细说php这么难懂,挺难懂的解决方法
  2. 为什么grpc不支持php,带入gRPC:让你的服务同时提供 HTTP 接口
  3. JAVA_HOME系统环境变量
  4. java jmf 视屏监控的核心代码_JMF(Java Media Framework)使用摄像头
  5. linux系统web站点设置-http基础设置
  6. QT + OpenCV + MinGW 在windows下配置开发环境
  7. getElementById()方法取值
  8. Drools的HelloWord例子
  9. 项目版本控制器SVN的环境建立(Subversion,subclipse)
  10. 敏捷大观园 - 视频分享第6弹!