在Java中,只有基本类型(int,boolean等)的值不是对象。其他类型,包括数组类型,不管是对象数组还是基本类型的数组都扩展与Object类。
Object类概述
类Object是类层次结构的根类。每个类都使用Object作为超类。所有对象(包括数组)都实现这个类的方法。
简单来说就是,Object类是所有类的父类,包括我们所写的类,我们在使用类的时候就会利用Object类中的方法。
Object中常用方法:
publicbooleanequals(Objectobj)
比较当前对象与obj是否为同一对象,返回值:ture/false
publicStringtoString()
返回当前对象的字符串表达形式
publicnativeinthashCode();
返回对象的Hash码。Hash码是标志对象的唯一值,Hash码相同的对象是同一对象
protectedvoidfinalize()throwsThrowable
对象销毁时被调用
以下三个函数用于控制线程
publicfinalnativevoidnotify();publicfinalnativevoidnotifyAll();publicfinalnativevoidwait();
native型方法指由C++语言编写的方法,Java解释器对其进行转义后才执行。
都知道java中比较字符串是否相等应该用equals();而==则是比较的值,也就是引用;那么为什么是这样的呢?equals的实现方法,字符串的比较,是通过每一个字符进行比较,如果都相等,则返回true;而源码里面Object类型的equals方法却是直接用==来代替的,也就是说相当于直接比较引用了,这也就是为什么我们有时候要重写equals方法了,下面附上Jdk中String类型的equals方法源码。
publicbooleanequals(ObjectanObject){
if(this==anObject){
returntrue;
}
if(anObjectinstanceofString){
StringanotherString=(String)anObject;
intn=value.length;
if(n==anotherString.value.length){
charv1[]=value;
charv2[]=anotherString.value;
inti=0;
while(n--!=0){
if(v1[i]!=v2[i])
returnfalse;
i++;
}
returntrue;
}
}
returnfalse;
}
以上就是动力节点java培训机构的小编针对“Javase基础教程,Java常用类Object”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
Java零基础学习视频
2020Java零基础教程:http://www.bjpowernode.com/javavideo/110.html
2020JavaSE进阶:http://www.bjpowernode.com/javavideo/144.html
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习