1、object类

Java Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-glXpJH0W-1611032687781)(D:\u(backups)]\note\java\img\29-1.gif)

Object 类位于 java.lang 包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承 Object,成为 Object 的子类。

Object 类可以显示继承,也可以隐式继承,以下两种方式时一样的:

显示继承:

public class Runoob extends Object{

}

隐式继承:

public class Runoob {

}

类的构造函数

函数

构造方法 & 描述

Object()

构造一个新对象。

类的方法

函数

方法 & 描述

protected Object clone()

创建并返回一个对象的拷贝

boolean equals(Object obj)

比较两个对象是否相等

protected void finalize()

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

Class getClass()

获取对象的运行时对象的类

int hashCode()

获取对象的 hash 值

void notify()

唤醒在该对象上等待的某个线程

void notifyAll()

唤醒在该对象上等待的所有线程

String toString()

返回对象的字符串表示形式

void wait()

让当前线程进入等待状态。直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。

void wait(long timeout)

让当前线程处于等待(阻塞)状态,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过参数设置的timeout超时时间。

void wait(long timeout, int nanos)

与 wait(long timeout) 方法类似,多了一个 nanos 参数,这个参数表示额外时间(以纳秒为单位,范围是 0-999999)。 所以超时的时间还需要加上 nanos 纳秒

2、API
  • 电脑需要调用手机里面的信息,这时候你会拿一根数据线将电脑手机连接起来,电脑和手机上连接数据线的接口就是传说中的API接口。
研发人员A开发了软件A,研发人员B正在研发软件B。有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数;你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!其中,API就是研发人员A说的那个函数。