Java中的Object类详细介绍
作者:junjie 发布时间:2023-11-23 23:18:46
标签:Java,Object类
理论上Object类是所有类的父类,即直接或间接的继承java.lang.Object类。由于所有的类都继承在Object类,因此省略了extends Object关键字。
该类中主要有以下方法: toString(),getClass(),equals(),clone(),finalize(), 其中toString(),getClass(),equals是其中最重要的方法。
注意:
Object类中的getClass(),notify(),notifyAll(),wait()等方法被定义为final类型,因此不能重写。
getClass()方法;
不可重写,要调用的话,一般和getName()联合使用,如getClass().getName();
toString()方法;
可重写;如果在实际使用中为特定对象提供一个特定的输出模式,当这个类型转换为字符串或字符串连接时,建自动调用重写的toString()方法。
public ObjectInstance{
public String toString(){
return "在"+getClass().getName()+"重写toString()方法"
}
public static void main(String arg[]){
System.out.println(new ObjectInstance());
}
}
equals()方法;
class V {
}
public class OverWriteEquals{
public static void main(String args[]){
String s1="123";
String s2="123";
System.out.println(s1.equals(s2));
V v1= new V();
V v2= new V();
System.out.println(v1.equals(v2));
}
}
输出结果:
run:
true
false
BUILD SUCCESSFUL (total time: 0 seconds)
从本例可以看出,在自定义的类中使用equals()方法进行比较时,将返回false,因为equals方法的默认实现是"=="运算符,即比较两个对象的引用地址,而不是比较对象的内容。所以要想真正比较两个对象中的内容,需要在自定义类中重写equals()方法。


猜你喜欢
- 进度条以一种客观化的方式,让我们知道程序正在执行的情况,在程序需要时间执行任务的时候,提示进度条友好的告诉用户说,当前任务还没有完成,请稍稍
- Java程序默认输出为Console,如果要想将Console输出结果保存到文件中,则需要做如下配置:在JAVA程序上右键--> Ru
- C# 的类型系统可分为两种类型,一是值类型,一是引用类型,这个每个C#程序员都了解。还有托管堆,栈,ref,out等等概念也是每个C#程序员
- 可空类型用途主要是从数据库读取数据有可能为空,而不是插入使用,插入数据都要进行验证,如果要插入数据库的null,则使用DBNull.valu
- 在application.properties中填写中文信息,在读取该文件时会出现中文乱码问题。比如:application.propert
- /** * 日期工具类 * 默认使用 "yyyy-MM-dd HH:mm:ss" 格式化日期&nbs
- 原文:CREATING SAMPLE DATA FOR C#作者:Bruno Sonnino译文:C#中使用Bogus创建模拟数据译者: L
- 1、新建一个Activity,并把各个生命周期打印出来 2、运行Activity,得到如下信息 onCreate--> onStart
- 最近零碎时间一直在研究OpenGL,所以没怎么进行分享,以后可能大部分时间会学习系统底层\NDK\VR\AR等领域,话不多少,今天来分享个小
- 1.C#是一种从C++和Java继承而来的,简单的,现代的,面向对象的语言.2.它的目标是综合Visual Basic高产和C++底层高效的
- 一、Android系统启动Android设备从按下开机键到桌面显示画面,大致过程如下图流程:开机显示桌面、从桌面点击 App 图标到 Act
- 本文实例讲述了Java抽象类和抽象方法定义与用法。分享给大家供大家参考,具体如下:一、Java抽象类参考资料:Java抽象类 详解1、抽象类
- 1、0前言最近在学习 Go 语言,Go 语言中有指针对象,一个指针变量指向了一个值的内存地址。学习过 C 语言的猿友应该都知道指针的概念。G
- 前言Spring Data Jpa框架的目标是显著减少实现各种持久性存储的数据访问层所需的样板代码量。Spring Data Jpa存储库抽
- 什么是AOPAOP是 Aspect Oriented Programming 的缩写,即面向切面编程,和平常遇到的面向对象OOP编程不一样的
- 若干年前在使用SpringMVC的时候,发现springMVC可以把HttpSession,HttpRequest组件化注入:@Autowi
- 使用InsertProvider注解报错解决目前项目在使用mybatis,并且是使用注解的方式。在使用InsertProvider注解的时候
- 在实际的工作中直接使用反射的机会比较少,有印象的就是一次自己做的WinForms小工具的时候利用反射来动态获取窗体上的每个控件,并且为必要的
- 启动Springboot项目时候报错java: 无法访问org.springframework.boot.SpringApplication
- JAVA操作XML文档主要有四种方式,分别是DOM、SAX、JDOM和DOM4J,DOM和SAX是官方提供的,而JDOM和DOM4J则是引用