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. 7.搭建hyperledger fabric环境及启动——2019年12月12日

    2019年12月12日13:05:16 声明:从网络中学习整理实践而来. 1.介绍fabric Fabric 是一个面向企业应用的区块链框架,基于 Fabric 的开发可以粗略分为几个层面: 1. 参 ...

  2. I/O性能优化

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11525014.html Linux 系统的 I/O 栈图 I/O性能指标 根据指标找工具 根据工具查指 ...

  3. JSP中获取客户端或浏览端信息的方式

    request应用:在JSP页面显示访问者IP  方式一:纯前台,不涉及后台操作.直接在jsp页面中需要显示IP的地方使用 代码:<%=request.getRemoteAddr()%> ...

  4. UIStakView的添加与移除

    subView和arrangedSubView对于Stack View的子控件添加和移除,我们是这样描述的. 添加-->(Stack View管理的subview) addArrangedSub ...

  5. 安装和使用Redis【转】

    Redis是一个高性能的内存数据库,它体积轻巧性能又高,在企业中被广泛使用. 安装Redis Windows安装 Redis是为Linux系统设计的,但是也有团队为Windows做了移植.我们可以到这 ...

  6. vijos 1243 生产产品

    貌似两年前联赛复习的时候就看过这题 然而当时大概看看了 感觉太难 便没有去做 如今再去做的时候 发现其实也并不容易 ------------------------------------------ ...

  7. MSSQL数据库表结构无法更改

    工具->Designers-> 组织保存要求重新创建表的更改 -> 把这个钩去掉就可以了    

  8. Openstack Restful API 开发框架 Paste + PasteDeploy + Routes + WebOb

    目录 目录 Paste PasteDeploy Routes WebOb 简介 WSGI入口 Paste和PasteDeploy 配置文件 pasteini 中间件的实现 Routes WebOb 参 ...

  9. Javascript在ajax提交过程中页面显示加载中,请等待效果,并在提交过程中限制确定按钮防止多次提交,提交完成后,解除提交限制

    加载中,请等待div: <div id="load" class="center-in-center" style="display:none; ...

  10. Jenkins构建触发器的区别

    Build periodically:定时进行项目构建或执行(它不care源码是否发生变化),配置如下: 0 2 * * *  (每天2:00 必须build一次源码) 如果是要定时执行脚本,需要选择 ...