Java 常用对象-Object类
2024-08-26 06:30:02
2017-10-31 23:42:08
Object类:类 Object
是类层次结构的根类。每个类都使用 Object
作为超类。所有对象(包括数组)都实现这个类的方法。
或者说,每个类都直接或者间接继承了Object类。
常用方法:
- hashCode(),返回该对象的哈希码值。支持此方法是为了提高哈希表(例如
java.util.Hashtable
提供的哈希表)的性能。[可自动生成]
实际上,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,但是 JavaTM 编程语言不需要这种实现技巧)
哈希值是根据哈希算法计算出来的值,这个值和地址值有关,但不是地址值。
- getClass(),返回此
Object
的运行时类。返回的Class
对象是由所表示类的static synchronized
方法锁定的对象。 - toString(),返回该对象的字符串表示。通常,
toString
方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。[可自动生成]
Object
类的 toString
方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@
”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
- equals(Object obj):指示其他某个对象是否与此对象“相等”。[可自动生成]
Object
类的 equals 方法实现对象上差别可能性最大的相等关系。
注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。
默认情况下,比较的是地址值。比较地址值一般意义不大,所以需要重写该方法。
boolean equals(Object obj)
{
if(this==obj) return true;
if(!(obj instanceof Student)) return false;
Student s =(Student) obj;
return this.name.equals(obj.name)&&this.age==age;
}
- finalized():当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。一般不使用,因为无法确认何时能够被收回。
- clone():创建并返回此对象的一个副本。Object 类本身不实现接口 Cloneable,所以在类为 Object 的对象上调用 clone 方法将会导致在运行时抛出异常。
public class Student implements Cloneable
才能使用clone()方法
最新文章
- pycharm2016 激活
- 【原】十张javascript思维导图
- 小甲鱼PE详解之IMAGE_NT_HEADERS结构定义即各个属性的作用(PE详解02)
- 关于IP地址的一个细节问题
- VS2010 项目引用了微软企业库,但是编译时提示:未能找到类型或命名空间名称
- AndroidDev站点推荐-zz
- Android重写getResources规避用户调整系统字体大小影响Android屏幕适配
- 在String()构造器不存在的情况下自定义一个MyString()函数,实现如下内建String()方法和属性:
- 第一章 工欲善其事 必先利其器—Android SDK工具(3)
- zend studio 使用断点调试
- 生成输出url
- js 捕获浏览器关闭或者刷新页面给出提示
- 一步步搭建最简单oauth2.0认证和授权
- 使用 dynamic 类型让 ASP.NET Core 实现 HATEOAS 结构的 RESTtful API
- Spark技术内幕:究竟什么是RDD
- (代码篇)从基础文件IO说起虚拟内存,内存文件映射,零拷贝
- crontab在/var/log/目录下没有cron.log文件
- Qt样式表都有哪些属性可以设置
- Popover 弹出框 设置top,显示有时是向下的,解决方式
- Dubbo 暴露服务
热门文章
- 线段树(I tree)
- Spring 自动扫描 不支持jar包 <;component-scan>;
- 统计方法运行时间【Java实现】
- Python 为什么要用yield
- Window下安装npm
- 教你如何在linux下查看服务是否已经启动或者关闭
- printf(";%d";,5.01)和printf(";%f";,5)的输出结果
- linux 添加 swap
- VC++ 进度条更新方案
- JQuery插件模板