首页 > 编程语言 >Java基础-学习笔记07

Java基础-学习笔记07

时间:2024-07-23 20:42:09浏览次数:10  
标签:调用 Java 07 对象 笔记 toString 回收 哈希 方法

07 Object类详解

Object类详解

object是所有类的超类,它拥有的方法,其他所有类的对象都会拥有,可以直接使用。

equals方法

  • == 和 equals的对比
    • == 是一个比较运算符:
      既可以判断基本类型(判断的是值是否相等);也可以判断引用类型(判断的是地址是否相等),当两边类型不相等时编译不通过。
    • equals是object类的方法:
      只能用来判断引用类型;
      默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等。比如Integer,String。

hashcode方法

返回该对象的哈希码值,支持此方法是为了提高哈希表(例如 Java.util.Hashtable提供哈希表)的性能。

  • 提高具有哈希结构的容器的效率
  • 两个引用,如果指向的是同一个对象,则哈希值肯定是一样的
  • 两个引用,如果指向的是不同对象,则哈希值等价是不一样的(非绝对)
  • 哈希值主要根据地址号来的,但不能将地址和哈希值等价

toString方法

默认返回:全类名+@+哈希值的十六进制;子类往往重写toString方法,用于返回对象的属性信息

  • 重写 toString 方法,打印对象或拼接对象时,都会调用该对象的 toString形式
  • 当直接输出一个对象时,toString方法会被默认的调用

Finalize方法

当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用该方法。
(实际开发中,几乎不用。了解应付面试)

  • 当对象被回收时,系统自动调用该对象的finalize方法。子类可以重写该方法,做一些释放资源的操作(比如释放资源:数据库连接,或者打开文件...)
  • 什么时候被回收:当某个对象没有任何引用时,则jvm就认为这个对象是一个垃圾对象,就会使用垃圾回收机制来销毁该对象,在销毁该对象前,会先调用finalize方法
  • 垃圾回收机制的调用,是由系统来决定,也可以通过System.gc()主动触发垃圾回收机制

标签:调用,Java,07,对象,笔记,toString,回收,哈希,方法
From: https://www.cnblogs.com/97gogo/p/18317100

相关文章

  • [rCore学习笔记 017]实现批处理操作系统
    写在前面本随笔是非常菜的菜鸡写的。如有问题请及时提出。可以联系:[email protected]:https://github.com/WindDevil(目前啥也没有本章目的实现批处理操作系统,每当一个应用程序执行完毕,都需要将下一个要执行的应用的代码和数据加载到内存.应用加载机制在操作系统......
  • java学习--运算符
    运算符算术运算符混合运算当进行多类型混合运算时,结果是参与运算的最大类型当只有byteshortintchar四种类型中任意一种或多种进行运算,结果一定是int类型关系运算位运算/逻辑运算位运算进阶 //&也支持两边是数字,转换为二进制进行每位比较,都是1则取1......
  • 使用脚本自动配置Java环境
    python脚本配置java环境适用Windows与LinuxLinux系统的全局配置文件路径:/etc/profile首先需要下载jdk,然后在命令行使用脚本使用方式:jdk路径不带bin目录pythonset_java_env.py/path/to/jdkset_java_env.py内容如下:importosimportsysdefset_java_env(java_path):......
  • Java---String类
    乐观学习,乐观生活,才能不断前进啊!!!我的主页:optimistic_chen我的专栏:c语言,Java欢迎大家访问~创作不易,大佬们点赞鼓励下吧~前言在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,......
  • 【Java基础语法】内置接口
    前言:小编紧接着上期抽象类与接口进行了拓展,介绍了一些Java内置有用的接口,希望能够对大家有所帮助。上期博客http://t.csdnimg.cn/0MoDe1.Comparable接口1.1Comparable接口在如下代码中:publicstaticvoidmain(String[]args){Student[]student=newStuden......
  • 使用JavaScript做一个轮播图
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>图片轮播</titl......
  • 大佬算法解题笔记--01
    分享一些大佬刷算法思路    资料来源于网络,侵删 ......
  • java中assert用法
    java中assert用法一、java为什么源码框架都用assert调试1、一般是做单元测试的时候用(比如Junit),其它的地方也可以使用,但是基本上没人用,因为在其它的地方判断语句比断言好用。2、如果表达式计算为false,那么系统会报告一个Assertionerror。3、由于assert是一个新关键字,使用老......
  • 【闲话】07.23.24
    0723闲话头图:今日推歌:《死别feat.GUMI》シャノンさよなら夏、また会う日まで再见了夏天,直到再见的那天さよなら夏、君との思い出再见了夏天,和你一起的回忆もしもそうじゃなかったら“假如不是这样的话……”なんてこわいこと我试着想象了一下考えてみたよ这种可......
  • 【学习笔记】Kylin-Desktop-V10-SP1 麒麟系统安装CrossOver软件的详细操作步骤
    一、前期准备1.关于CrossOverCrossOver是一款系统兼容软件,它让您可以在Mac和Linux系统上直接运行Windows应用,不用安装虚拟机;直接通过CrossOver软件,从dock直接启动Windows应用说明:CrossOver软件是一款付费使用软件,但支持14天试用期2.安装麒麟系......