1.getClass:

public final native Class<?> getClass();

返回当前对象运行时的类的对象。

2.hashCode:

public native int hashCode();

这个方法是为哈希表这种数据结构提供支持的。(例如HashMap)

hashcode 的通用约定为:

1)在一个java应用中在同一个对象上调用多次hashCode方法应该返回同样的int结果。

但是int结果不必保持一致性在同一个java应用的两次执行中。

2)如果两个对象是相等的(equals方法返回true),则hashCode方法必须返回相同的int结果。

3)如果两个对象通过equals方法不相等,不要求他们的hashCode方法必须返回不同的int结果,但是

不同对象上返回不同的hashCode可以提高哈希表的性能(缩短链表的长度)。

3.equals:

public boolean equals(Object obj) {
return (this == obj);
}

4.clone:

protected native Object clone() throws CloneNotSupportedException;

注意两点:第一此方法是protected,只有子类可以调用;第二,子类必须实现Cloneable接口,不然此方法会抛出CloneNotSupportedException异常。

所有数组默认为实现了Cloneable接口,所以数组都有clone方法。另外,这个方法是创建一个新的对象,并且使用被拷贝的对象的属性值来初始化新对象的属性。

而并不是将属性也拷贝一份。所以此方法是一个浅拷贝,并不是深拷贝。

5.toString:

public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

6.notify:

public final native void notify();

唤醒一个正在等待此对象上的线程。如果有多个等待线程,则任意挑选一个唤醒。具体挑选哪个依赖具体实现。

被唤醒的线程不会立即执行,直到当前线程释放对象上的锁。被唤醒的线程还要和其他想要获取锁的线程竞争锁。

此方法只能被已经获取对象上的锁的线程调用。

7.notifyAll:

public final native void notifyAll();

唤醒所有等待在此对象上的线程。其他和notify方法一样。

8.wait:

public final void wait() throws InterruptedException {
wait(0L);
}

导致当前线程进入等待状态直到被唤醒(notified或者interrupted),此方法和调用wait(0L, 0)效果一样。

public final native void wait(long timeoutMillis) throws InterruptedException;

9.finalize

此方法在java9中已经申明为Deprecated,而且在其他版本中也极不推荐使用,所以不做介绍了。

Object类上的方法的更多相关文章

  1. 关于Object类下所有方法的简单解析

    类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直接来看jdk的源码,开始我们的分析之路 ...

  2. Object类中通用方法之:toString()方法

    1.Java所有的对象都是Object类的实例,都可以直接调用该类中定义的方法,这些方法称为通用方法 2.toString()方法即为Object类中定义的通用方法之一 3.平时我们如果在控制台直接打 ...

  3. [ 转载 ] Java基础10--关于Object类下所有方法的简单解析

    关于Object类下所有方法的简单解析 类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直 ...

  4. Java Object类的equals()方法

    所有类都从Object类中继承了equals方法,Object类中equals方法源代码如下: public boolean equals(Object obj)     {         retu ...

  5. Java基础知识强化26:Object类之hashCode()方法、getClass()方法

    1. Object类的hashCode()方法,如下: public  int  hashCode():返回该对象的哈希码值,这个值和地址值有关,但是不是实际地址值(哈希码值是根据实际地址值转化过来的 ...

  6. object类的equals方法简介 & String类重写equals方法

    object类中equals方法源码如下所示 public boolean equals(Object obj) { return this == obj; } Object中的equals方法是直接 ...

  7. Java Object类及其equals方法

    基本概念: Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入: Object类是所有Java类的祖先.每个类都使用 Object 作为超 ...

  8. Java中的Object类的toString()方法,equals()方法

    Object类是所有类的父类,若没有明确使用extends关键字明确表示该类继承哪个类,那么它就默认继承Object类,也就可以使用Object中的方法: 1.toString 如果输出一个对象的时候 ...

  9. Object类及其equals()方法

    ==  : 1.基本数据类型:根据基本数据类型的值判断是否相等,相等返回true,反之返回false 注意:两端数据类型可以不同, 在不同的情况下,也可以返回true 2.引用数据类型:Object ...

随机推荐

  1. 落地存储pika

    官方文档这样介绍pika pika是什么   pika 是DBA和基础架构组联合开发的类Redis 存储系统,所以完全支持Redis协议,用户不需要修改任何代码,就可以将服务迁移至pika.Pika是 ...

  2. ASP.NET MVC ScriptBundle 不能加载.min.js文件

    比如我用 bundles.Add(new ScriptBundle("~/bundles/easyui").Include( "~/Content/easyui/jque ...

  3. AndroidPn源码分析(二)

    接上篇: (一)客户端与服务器建立连接 上一篇写到ClientSession createClientSession这里,创建一个客户端的session.在SessionManager类中创建了ses ...

  4. [ACM_水题] UVA 12502 Three Families [2人干3人的活后分钱,水]

      Three Families  Three families share a garden. They usually clean the garden together at the end o ...

  5. 设计模式之工厂模式(Factory Pattern)

    一.什么是工厂模式? 1.“简单工厂模式”,Simple Factory Pattern 也就是常用的在Factory类中定义静态方法负责new对象的方式. 摘要中提到过“严格地说,这种被称为“简单工 ...

  6. Algebraic Kernel ( Arithmetic and Algebra) CGAL 4.13 -User Manual

    1 Introduction Real solving of polynomials is a fundamental problem with a wide application range. T ...

  7. S11 day 93 RestFramework 之 序列化

    1. 表建模 from django.db import models # Create your models here. #文章表 class Article(models.Model): tit ...

  8. react.js学习之路二

    看react.js对我来说真的不是难不难的问题,问题是我的思路太难转变了,真是坑死我了,react里面的坑也很多.算了,这些抱怨没啥用,记录一下今天学习的内容. 今天看了to-do-list经典示例 ...

  9. apt小问题

    安装软件遇到情况,一直等待: root@test-xxx:/opt# apt-get install vsftpdReading package lists... DoneBuilding depen ...

  10. js06

    接着我们继续学习一些js的知识,这里主要讲js的一些库jq与prototype的一些基础. 1.jq函数    $():向其传递DOM对象,返回jQuery对象        jq允许通过CSS选择器 ...