JAVA(Object和String)一 Object类和String字符串的理解和使用

2023-11-17

JAVA(Object和String)一 Object类和String字符串的理解和使用

Object类

  1. 理解: 在JAVA中有一个非常特殊的类叫做Object类 JAVA里面所有的类都继承自Object类 我们自身编写的类 都会间接或者隐式的继承自Object类
  2. Object类常用的方法
    在这里插入图片描述

Object类 一共有13中方法 我们常用的方法有

2.1 toString()方法:这个方法是我们经常会用来进行打印对象的方法我们知道我们经常会通过System.out.println(对象)来打印对象的逻辑地址 但是我们有些时候需要打印对象里面存储的变量的值 这个时候我们就需要重写toString方法 为什么需要重写toString呢 前面我说过所有类都 会继承Object方法 System.out.print()这个方法默认会去调用类的toString()方法返回String字符串然后打印 所以如果我们不重写toString方法那么它会默认调用Object的toString()方打印逻辑地址所以我们重写toStirng()方法返回我们 拼接好的变量值这样就可以打印对象里面的变量值了

2.2 equals(Object)方法:这个方法时Object里面用来比较对象的一个方法 这个方法默认比较的是Object的内存逻辑地址 来判断是否是同一个对象 那么有些时候我们只需比较对象里面变量的值是否相等所以在需要比较值相等的时候我们需要重写equals方法来进行比较

2.3 finalize():这个方法是用来回收内存对象的 Java中会提供GC机制来实现回收对象 所以当java回收对象的时候会调用此方法来进行回收

2.4 hashcode():这个方法是吧对象逻辑地址转化成十进制的哈希值这个常用于hashmap的使用

2.5 wait():这个方法用于线程 的等待

2.6 notify():恢复 一个正在等待的线程

2.7 notifyAll():恢复所有在等待的线程

String类

  1. String是Java中常用的字符串存储类 我们经常使用该对象对字符串进行存储在JAVA中 只要是用 " "双引号括起来的 字符JVM会默认 解析该字符串成一个String对象 所以我们不需要通过new的方式去创建一个String字符串对象
    在这里插入图片描述
    这里可以看到 我只需在双引号 写入Hello World字符串 赋值给一个String变量的引用 这样就创建成功了一个String字符串的对象 那么JVM提供了一种优化模式 当 多次 使用同一个字符串时 JVM并不会多次创建 String对象 它会把内存中存在相同的String字符串对象直接赋给该变量 我通过定义两个相同的字符串然后通过内存比较来判断是否相等
    在这里插入图片描述
    我们可以看见最后输出的值为true证明他们是同一个对象

再来看一下下面这种方式是否ture
在这里插入图片描述
为什么这种方式为false 因为我们创建了两个对象 这个时候我们通过new关键字创建了两个不同的String对象所以这个时候输出的值为false 并不是为true.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA(Object和String)一 Object类和String字符串的理解和使用 的相关文章

  • IDEA查找关键字快捷键,很实用。

    本页面查找关键字快捷键 Ctrl F 查找当前页面关键字 1 第一个向上的箭头 表示关键字跳转到上一个 2 第二个向下的箭头 表示关键字跳转到上一个 其他的各位都可以尝试一下 主要就是当页面有较多关键字时 让你可以更加容易查看 查找所有 S
  • 全面理解java中的构造方法以及this关键字的用法(超详细)

    Hello 各位铁汁们 我是小 儿哈 今天我又来更新我的Java基础学习博客了 本篇主要内容概述 1 如何用构造方法初始化对象 2 为啥要有this这个关键字 3 this 属性名访问成员变量 成员方法 4 this 方法名 this 的用
  • static静态代码块

    static静态代码块 public class Person 静态代码块 在类加载时候执行静态代码块 只会执行一次 static System out println Person static initializer 实例初始化块 每次
  • JAVA-面向对象

    面向对象编程与面向过程编程只是一种在思维方式上的划分 面向过程是以分步骤的方式解决问题 而面向对象是以分步骤的方式解决问题 面向对象的三大特性是 封装 继承 多态 封装 就是将客观事物封装成抽象的类 抽象类可以将自己的数据和方法只让自己信任
  • Java中的抽象类和接口

    目录 一 什么是抽象类 抽象类在实现多态中的意义 二 接口是什么 通过接口实现多态 三 抽象类和接口的区别 各位铁汁们大家好呀 今天让我们继续学习java 看看java中的抽象类和接口到底是什么 一 什么是抽象类 我们之前学过什么是类 那么
  • jquery循环语句if-else if-else

    jquery循环语句if else if else callbackFun 函数 开始是写的if if else 结果是不管第一个if有没有匹配到 会再次判断 如果匹配到第二个if 则第二个if中的语句执行 没有匹配到第二个if 则else
  • 学编程太枯燥太难怎么办?

    大家好 我是老三 和大家分享一些我学编程的经历 那年二十 头发浓密如野狗 夏日炎炎 枯坐机房如木头 一根指头 颤颤巍巍如老叟 敲下了第一行 Hello World 开启了编程学习生涯 刚开始 参加的是学校的一个夏季编程训练营 起初是有学长学
  • 判断考生成绩等级(switch case语句练习)

    判断考生成绩等级 1 考生成绩控制在 0 100 2 成绩 90 100 优 成绩 80 90 良 成绩 70 80 可 成绩 60 70 一般 成绩 0 60 不及格 要求使用switch语句 不能使用if语句 class SwitchT
  • Java文件的读写

    文件与流 在实际生活中 我们总要对文件进行操作 Java提供了流可以帮助我们读写文件 下面是常用的流类型结构图 在对文件的读写操作中 字节流可用于读写二进制文件 字符流用于读写文本文件 所谓二进制文件 指文件无字符编码格式 均由字节 Byt
  • Java 解析http返回的xml数据

    Java 解析http返回的xml数据 写成txt文件 需求 每小时抓取给定api接口返回的xml数据 把xml数据保存为XML文件 把xml数据转换txt文件格式数据 保存txt文件 文件名以yyyyMMddHH0000 txt和yyyy
  • 8421码

    8421码是中国大陆的叫法 8421码是BCD代码中最常用的一种 在这种编码方式中每一位二值代码的1都是代表一个固定数值 把每一位的1代表的十进制数加起来 得到的结果就是它所代表的十进制数码 二进制 1 1 1 1 十进制 8 4 2 1
  • StringUtils常用方法+StringUtils详细介绍

    StringUtils用法 StringUtils详细介绍 博文来源 http yijianfengvip blog 163 com blog static 175273432201212221935832 public static vo
  • Junit单元测试

    概念 JUnit是一个 Java 编程语言的单元测试工具 可以对部分代码的进行测试 Junit是用于Java的单元测试的框架 是别人写好的 特点 JUnit是一个开放源代码的测试工具 提供注解来识别测试方法 JUnit测试可以让你编写代码更
  • JAVA高级类特性(一)

    一 继承性 1 继承的使用 权限修饰符 class A extends B 2 子类 A 父类 基类 SuperClass B 3 子类继承父类后 父类中声明的属性 方法 子类都可以获取到 明确 当父类中有私有的属性或方法时 子类同样可以获
  • private static final Long serialVersionUID= 1L详解

    我们知道在对数据进行传输时 需要将其进行序列化 在Java中实现序列化的方式也很简单 可以直接通过实现Serializable接口 但是我们经常也会看到下面接这一行代码 private static final Long serialVer
  • Scanner类用法(学习笔记)

    Scanner类用法 学习笔记 后续会补充 1 next 用法 package com yushifu scanner import java util Scanner util java工具包 Scanner类 获取用户的输入 Scann
  • Java的多态特性

    学习笔记 多态 简单说 就是一个对象对应着不同类型 多态在代码中的体现 父类或者接口的引用指向其子类的对象 多态的好处 提高可维护性 由多态前提所保证 提高了代码的扩展性 多态的弊端 无法直接访问子类特有的成员 也就是说前期定义的内容不能使
  • java实现简单的生成52张牌、三个人洗牌、码牌算法

    定义一个Pocker类 用于定义牌类 package demo public class Poker private String suit 花色 private int rank 数字 构造函数 public Poker String s
  • java I/0操作 FileWriter类

    package filewriter p1 import java io FileWriter import java io IOException public class FileWriterDemo 获取当前系统的换行符 获取指定键指
  • java 使用匿名内部类的方式创建线程并设置和获取线程名字

    有些方法需要传入接口的实例或者抽象类的实例对象 比如Thread有一个构造方法 Thread Runnable target 这时可以可以自定义类实现Runnable接口 重写接口中的方法 将自定义类的对象传入构造方法中 也可以使用匿名内部

随机推荐

  • linux学成之路(基础篇)(十)网络和网络协议

    目录 一 概述 一 网络 二 功能 三 网络类型 四 概念 一 网络协议标准 二 IEEE 802局域网标准 三 网络常见设备 四 网络扩朴结构 五 数制介绍 一 十进制 二 二进制 三 八进制 四 十六进制 二 网络协议 一 分层模型 一
  • Python 生成器 装饰器 闭包 迭代器 元类 gil log 协程 垃圾回收 描述符 property

    迭代器和生成器 在 Python 中 迭代器 Iterator 是一种通过循环访问数据集合的方式 可以逐个访问集合中的元素 而不需要提前将整个集合加载到内存中 Python 中的迭代器通常是基于可迭代对象 Iterable 来实现的 例如列
  • YYF查全部考勤记录

    Controller package com chinasofti fwgl ctrl import java util HashMap import java util List import org springframework be
  • 【限时免费】20天拿下华为OD笔试之【DFS/BFS】2023B-寻找最大价值的矿堆【欧弟算法】全网注释最详细分类最全的华为OD真题题解

    DFS BFS 2023B 寻找最大价值的矿堆 题目描述与示例 给你一个由 0 空地 1 银矿 2 金矿 组成的的地图 矿堆只能由上下左右相邻的金矿或银矿连接形成 超出地图范围可以认为是空地 假设银矿价值 1 金矿价值 2 请你找出地图中最
  • 虚拟空间和服务器,虚拟空间和服务器

    虚拟空间和服务器 内容精选 换一换 Windows场景中 当把源端服务器迁移到华为云后 目的端服务器C盘的已用空间比对应源端服务器C盘的已用空间大至少1GB 而不是与源端服务器C盘的已用空间一致 这正常吗 正常现象 您可通过以下步骤查看原因
  • QVariant类

    QVariant类 QVariant类 demo 三级目录 QVariant类 QVariant类是Qt的共用体union数据类型 不仅能保存很多Qt类型的值 包括QColor QBrush QFont QRect QString及QSiz
  • dnf机械机器人补丁_史无前例!炉石一周内的第三个天梯平衡补丁来了

    大家应该还记得东少之前的一篇关于大铡蟹和鲁莽的实验者的文章吧 天胡的机械牧4费拍下伪装机器人 5费拍下鲁莽的实验者 然后直接无限buff斩杀对面 可惜大家将看不到这个强大可怕的无敌combo了 因为暴雪爸爸今天在官网论坛和Reddit都发表
  • 作好项目经理的12个要点

    1 了解项目管理的背景情况 成为一个成功的项目经理所面临的大部分困难来自于项目经理对公司内部各种挑战的理解和认识 项目是组织的一种特殊形式 它们作为一种机制 促进了一种产品和服务推向市场的效率 但是 它们还迫使项目经理在传统型 职能化的权利
  • 用C语言打印九九乘法表

    运用c语言的分支和循环的知识就可以打印出来9 9的乘法表 效果如图 具体代码 可以深刻理解循环和嵌套循环的应用 int main int i 0 行数 for i 1 i lt 9 i 行数 打印9行 int j 0 列数 for j 1
  • k8s scheduler 调度与 kubelet 启动 Pod 流程总结(四)

    文章目录 scheduler predicate 和 priority 资源需求 把 Pod 调度到指定 Node 上 nodeSelector 亲和性和反亲和性 节点亲和性 Pod 亲和性 污点和容忍度 Controller Manage
  • 【JavaEE初阶】第九节.多线程 (基础篇)定时器(案例三)

    作者简介 大家好 我是未央 博客首页 未央 303 系列专栏 JavaEE初阶 每日一句 人的一生 可以有所作为的时机只有一次 那就是现在 前言 一 定时器概述 二 定时器的实现 2 1 Java标准库 定时器的使用 2 2 自己模拟实现一
  • 使用mysql数据库插入中文全部变成问号

    下午使用MYSQL数据库 插入中文时候全部变成为问号 找了一下午都没有找到合适的答案 有点小伤心 一个小问题耗费这么多时间 后面按照网上的方法改来改去 最后甚至连插入中文都报错 遇到这样的问题 首先先不要着急 肯定是编码的问题 先检查下我们
  • spark写表指定外部表_Spark SQL 之自定义删除外部表

    Spark SQL 之自定义删除外部表 前言 Spark SQL 在删除外部表时 本不能删除外部表的数据的 本篇文章主要介绍如何修改 Spark SQL 源码实现在删除外部表的时候 可以带额外选项来删除外部表的数据 本文的环境是我一直使用的
  • 《万字长文带你解读AIGC》系列之技术篇

    欢迎关注 CVHub 官方微信公众号 前景回顾 Welcome to back 在 万字长文带你解读AIGC入门篇 一文中 我们详细为大家介绍了AIGC的相关概念 背景及其如此火爆的原因 接下来我们将进一步深入探讨AIGC背后的技术栈 作为
  • 【论文党福利】如何提取图像中的数据

    论文党福利 如何提取图像中的数据 从事科研的老师和同学们在撰写论文时 经常需要将文献中的曲线与自己的结果进行对比 为获取原始数据 最靠谱的方法当然是找原作者要 如果没有要到呢 本文将成为论文党的福利 为你提供你两种解决方案 均是用matla
  • Vue2.0+webpack 引入字体文件(eot,ttf,woff)

    webpack base config js 需要配置 test woff2 eot ttf otf loader url loader options limit 10000 name utils assetsPath fonts nam
  • 图形学相关期刊和会议的基本信息

    目录 期刊 A类 ACM TOG A类 IEEE TIP A类 IEEE TVCG B类 TOMCCAP B类 CAGD B类 CGF B类 CAD B类 GM B类 TCSVT B类 TMM B类 SIIMS C类 CGTA C类 CAV
  • Webshell工具的流量特征分析(菜刀,蚁剑,冰蝎,哥斯拉)

    0x00 前言 使用各种的shell工具获取到目标权限 即可进行数据操作 今天来简要分析一下目前常使用的各类shell管理工具的流量特诊 帮助蓝队同学在风险识别上快速初值 0x01 中国菜刀流量分析 payload特征 PHP ASP AS
  • ElasticSearch系列-索引原理与数据读写流程详解

    索引原理 倒排索引 倒排索引 Inverted Index 也叫反向索引 有反向索引必有正向索引 通俗地来讲 正向索引是通过key找value 反向索引则是通过value找key ES底层在检索时底层使用的就是倒排索引 索引模型 现有索引和
  • JAVA(Object和String)一 Object类和String字符串的理解和使用

    JAVA Object和String 一 Object类和String字符串的理解和使用 Object类 String类 Object类 理解 在JAVA中有一个非常特殊的类叫做Object类 JAVA里面所有的类都继承自Object类 我