Android(Java)中的Object

前言

真不知道该怎么做个标题党来博个眼球,苍白的命名。

说起这个Object,直译“对象”,一直觉得没什么好讲,Java的基类嘛,看看官方API就好了咩,英文不好的可以直接去看汉译版,但是面试官总喜欢用这个小刀插你,这有什么技术含量吗?可能面试官觉得这是个基本功,因为是Android面试,其实就是Java语言嘛,所以问到这个知识点也是合乎情理了,并不邪乎,来,一起揭开她的面纱。(面试的话好好看看前4个就可以应付, 其他作为了解)

Object 类起始于JDK1.0, 是类层次结构的根,Java中所有的类(包括标准容器类,比如数组)从根本上都继承自这个类,也就是直接或间接继承Object,所以Object类是Java中唯一没有父类的类。

方法摘要

返回类型 函数 解释说明
protected Object clone() 创建并返回此对象的一个副本。
boolean equals(Object obj) 指示其他某个对象是否与此对象“相等”。
protected void finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
Class getClass() 返回此 Object 的运行时类。
int hashCode() 返回该对象的哈希码值。
void notify() 唤醒在此对象监视器上等待的单个线程。
void notifyAll() 唤醒在此对象监视器上等待的所有线程。
String toString() 返回该对象的字符串表示。
void wait() 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。
void wait(long timeout) 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。
void wait(long timeout, int nanos) 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。

接下来按照顺序一个一个看。

package java.lang;

说明一点java.lang包在使用的时候无需显式导入,编译时由编译器自动导入。

源码中并没有Object的构造方法,但是,同样的,编译器在编译期间会给Object一个默认的空的构造方法(事实上,所有的Java类,只要类中没有构造方法,编译器都会默认的给一个空构造方法,若已有构造方法,则不会添加):

public Object(){}

1、getClass()

private transient Class<?> shadow$_klass_;

public final Class<?> getClass() {
    return shadow$_klass_;
}  

返回这个Object的运行时Class对象。这个Class对象被所代表的类的static synchronized

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小山研磨代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值