JavaSE---Object
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的更多相关文章
- javaSE之Object及hashcode等相关知识
object: package javaBasic; public class TestObject { public static void main(String[] args) { // TOD ...
- JavaSE基础知识(5)—面向对象(Object类)
一.包 java.lang包,属于java中的核心包,系统默认导入的,不用手动导入该包中的类:Object.System.String.Integer等 1.包的好处 ①分类管理java文件,查找和管 ...
- [javaSE] 面向对象(Object类toString)
每一个对象,都有一个在内存中的地址哈希值,这个哈希值是十六进制的 调用Object对象的hashCode()方法,返回这个对象的哈希值 调用Integer.toHexString()方法,转换十六进制 ...
- JavaSE 学习笔记之Object对象(八)
Object:所有类的直接或者间接父类,Java认为所有的对象都具备一些基本的共性内容,这些内容可以不断的向上抽取,最终就抽取到了一个最顶层的类中的,该类中定义的就是所有对象都具备的功能. 具体方法: ...
- Javase之object类的概述
object类的概述 object类是类层次结构的根类,每个类都使用object作为超类. 即每个类都直接或间接的继承object类. object类中方法介绍 hashCode public int ...
- JAVASE(十)面向对象:特性之多态性、Object类、代码块、关键字:static、final、父子类执行顺序
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.面向对象的特性之:多态性 多态性的理解:事物的多种形态 1.1 广义上多态性的体现:①方法的重写,重 ...
- JavaSE常用类之Object类
1. hashCode方法 代码: package NeiBuLei; public class hashCode { public static void main(String[] args) { ...
- javaSE基础04
javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...
- javase基础复习攻略《三》
编程语言的发展: 机器语言——直接由计算机的指令组成,指令.地址.数据都是以"0"和"1"的符号串组成,可以被计算机直接执行. 汇编语言——用容易理解和记忆的符 ...
- 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 ...
随机推荐
- instanceof是Java的一个二元操作符(运算符)
instanceof是Java的一个二元操作符(运算符),也是Java的保留关键字.它的作用是判断其左边对象是否为其右边类的实例,返回的是boolean类型的数据.用它来判断某个对象是否是某个Clas ...
- springboot 加载jsp 刷新jsp ,刷新Controller (亲自尝试)
解决jsp加载成功.<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId&g ...
- PHP curl_close函数
说明 void curl_close ( resource $ch ) 关闭一个cURL会话并且释放所有资源.cURL句柄ch 也会被释放. 参数 ch 由 curl_init() 返回的 cURL ...
- 1-什么是 Prometheus
什么是 Prometheus Prometheus 是由 SoundCloud 开源监控告警解决方案,从 2012 年开始编写代码,再到 2015 年 github 上开源以来,已经吸引了 9k+ 关 ...
- 第六周学习总结&实验报告四
一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆 ...
- Windows-Windows下使用Linux系统(WSL)
Install Windows Subsystem for Linux (WSL) on on Windows 10 | Microsoft Docs WSL(Windows Subsystem fo ...
- [360前端星计划]BlackJack(21点)(纯JS,附总部学习笔记)
[360前端星计划]总部学习笔记(6/6) [360前端星计划]详情跳转 游戏界面预览 目录 一.游戏介绍 1.起源 2.规则 3.技巧 二.游戏设计 1.整体UI构思 2.素材采集 3.游戏总规划 ...
- urllib库爬取实例
from urllib import request import random def spider(url): user_agent_list = [ "Mozilla/5.0 (Win ...
- 在Emacs中使用plantuml画UML图
在Emacs中使用plantuml画UML图 */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #83 ...
- sublime text 3安装Anaconda插件之后写python出现白框
sublime test 3安装anaconda插件之后写python代码会出现白框,这是应为anaconda自带了pep8语法检查, 有一些是语法错误,能够检查出来还是能有用的.但有一些不过是一些代 ...