1、概述

    Object常用方法

       1.1  getClass():            

public final native Class<?> getClass();

            返回   该对象   运行时的Class对象;

package com.an.javase;

public class HashCodeTest {

    public static void main(String[] args){
System.out.println(new Person().getClass());
} static class Person{
private String name;
private int age;
}
} 结果:
class com.an.javase.HashCodeTest$Person

 

       1.2  hashCode()

public native int hashCode();

             返回该对象的哈希码值;

             这个方法是为了支持java中的散列表,比如:HashMap、hashtable...

             ******java中   调用同一个对象的hashCode()必须   返回相同的整数;

               但是,存在一个问题:有可能不同对象的hashCode()返回值相等

 

       1.3  equals()

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

              比较2个对象是否相等(内存中的地址值);

              该方法规定:如果2个对象equals()返回true,则必须有相同的hashCode值

              实际业务中:需要比较不同内存对象但内容相同,也视为相同,需要重写equals();

package com.an.javase;

public class EqualsTest {

    private String name;
private Integer age; @Override
public boolean equals(Object obj) {
if (this==obj){
return true;
}
if (obj instanceof EqualsTest){
EqualsTest equalsTest=(EqualsTest) obj;
if (equalsTest.name.equals(this.name)){
return true;
}
}
return false;
}
}

  

       1.4  toString()

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

             对象自我描述的功能,告诉外界该对象具有的信息;

             当直接将对象进行输出时,调用的是toString();

             toString()返回值:类名+@+hashCode值

       1.5  wait()

       1.6  wait(long timeout)

       1.7  wait(long timeout, int nanos)

       1.8  notify()

       1.9  notifyAll()

       1.10  clone()

       1.11  finalize()

protected void finalize() throws Throwable { }

            当垃圾收集确定不再有对该对象的引用时,垃圾收集器在对象上调用该对象;

JavaSE---Object的更多相关文章

  1. javaSE之Object及hashcode等相关知识

    object: package javaBasic; public class TestObject { public static void main(String[] args) { // TOD ...

  2. JavaSE基础知识(5)—面向对象(Object类)

    一.包 java.lang包,属于java中的核心包,系统默认导入的,不用手动导入该包中的类:Object.System.String.Integer等 1.包的好处 ①分类管理java文件,查找和管 ...

  3. [javaSE] 面向对象(Object类toString)

    每一个对象,都有一个在内存中的地址哈希值,这个哈希值是十六进制的 调用Object对象的hashCode()方法,返回这个对象的哈希值 调用Integer.toHexString()方法,转换十六进制 ...

  4. JavaSE 学习笔记之Object对象(八)

    Object:所有类的直接或者间接父类,Java认为所有的对象都具备一些基本的共性内容,这些内容可以不断的向上抽取,最终就抽取到了一个最顶层的类中的,该类中定义的就是所有对象都具备的功能. 具体方法: ...

  5. Javase之object类的概述

    object类的概述 object类是类层次结构的根类,每个类都使用object作为超类. 即每个类都直接或间接的继承object类. object类中方法介绍 hashCode public int ...

  6. JAVASE(十)面向对象:特性之多态性、Object类、代码块、关键字:static、final、父子类执行顺序

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.面向对象的特性之:多态性 多态性的理解:事物的多种形态 1.1 广义上多态性的体现:①方法的重写,重 ...

  7. JavaSE常用类之Object类

    1. hashCode方法 代码: package NeiBuLei; public class hashCode { public static void main(String[] args) { ...

  8. javaSE基础04

    javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...

  9. javase基础复习攻略《三》

    编程语言的发展: 机器语言——直接由计算机的指令组成,指令.地址.数据都是以"0"和"1"的符号串组成,可以被计算机直接执行. 汇编语言——用容易理解和记忆的符 ...

  10. RCE via XStream object deserialization && SECURITY-247 / CVE-2016-0792 XML reconstruction Object Code Inject

    catalogue . Java xStream . DynamicProxyConverter . java.beans.EventHandler . RCE via XStream object ...

随机推荐

  1. Java double转long方法

    Java double转long方法 double random = Math.round(Math.random()*10000); long l = new Double(random).long ...

  2. java连接远程服务器并执行命令

    导入必要的jar包 <dependency>  <groupId>ch.ethz.ganymed</groupId> <artifactId>ganym ...

  3. C++ 彩色图像(RGB)三通道直方图计算和绘制,图像逆时针旋转90° 实现代码

    #include "iostream" #include "opencv2/opencv.hpp" #include "vector" us ...

  4. Linux系统重要文件(二)

    Linux系统重要文件概述 一系统自动挂载文件 文件路径信息:/etc/fstab文件作用说明:实现存储设备自动挂载 [root@centos7 ~]# cat /etc/fstab # # /etc ...

  5. 比传统事务快10倍?一张图读懂阿里云全局事务服务GTS

    近日,阿里云全局事务服务GTS正式上线,为微服务架构中的分布式事务提供一站式解决方案.GTS的原理是将分布式事务与具体业务分离,在平台层面开发通用的事务中间件GTS,由事务中间件协调各服务的调用一致性 ...

  6. 【LeetCode 96】不同的二叉搜索树

    题目链接 [题解] 我们可以枚举这棵树的根节点在i处. 现在问题就变成. 1..i-1这i-1个节点组成的树和i+1..n这n-i个节点组成的树的个数的问题了. 假设他们俩的结果分别是cnt1和cnt ...

  7. truncate与delete删除数据的区别

  8. python中常犯错误之字符串列表下标问题

    下标用得是中括号[] 不是小括号() 1,python中的小括号( ):代表tuple元组数据类型,元组是一种不可变序列.创建方法很简单,大多时候都是用小括号括起来的. 2.python中的中括号[ ...

  9. Windows10下安装CentOS7双系统

    参考: 参考1 参考2 问题1

  10. Linux 下查看用户组信息

    1.id 通过id 可以直接查看到当前登陆用户的uid, group id , group name 等等.. 2.groups