Java常用类梳理--Object类

Java 面向对象 -- Java 语言的封装、继承、多态、内部类和 Object 类 在我们对 Java 语言进行基本介绍之后,本篇文章将带领大家深入了解 Java 的面向对象编程(OOP)概念。我们将探讨封装、继承和多态这三大核心概念,以及内部类的使用和 Object 类的重要性。通过对这些内容的学习,读者将能够更好地设计和实现复杂的 Java 应用程序。 阅读详情

Java常用类梳理--Object类

其他相关文章:

Object类可以存储任何对象,所有类默认继承Object类。
Object类常用方法:
在这里插入图片描述

  • getClass()
    • 返回引用中存储的实际对象类型
    • 通常用于判断两个引用中实际存储对象类型是否一致
  • hashCode()
    • 返回该对象的哈希码值
    • 哈希值是通过对象的地址或字符串或数字使用hash算法计算出的int类型的数值
    • 相同对象返回的哈希码相同
  • toString()
    • 返回该对象的字符串表示
    • 可以重写该方法展示对象的其他属性
  • equals()
    • 对比两个对象地址是否相同,默认实现为(this==obj)
    • 可以进行重写,对比两个对象内容是否相同
  • finalize()
    • 当对象被判定为垃圾对现象时,JVM自动调用此方法用以标记垃圾对象,进入回收站
    • 垃圾对象:没有有效引用指向此对象时,对象变为垃圾对象
    • 垃圾回收:由GC销毁垃圾对象,释放数据存储空间
    • 自动回收机制:JVM内存耗尽,一次性回收所有垃圾对象
    • 手动回收:使用System.gc(),通知JVM执行垃圾回收

案例:

public class Student {
    private String name;
    private int age;
    public Student(){}

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    //手动重写toString方法
    /*public String toString(){
        return name+":"+age;
    }*/

    //alt+insert自动重写toString方法
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        //判断两个对象是否是同一个引用
        if (this == o) return true;
        //判断o对象是否为空,或判断两个对象是否是同一个类型
        if (o == null || this.getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return this.age == student.age &&
                Objects.equals(this.name, student.name);
    }

    /*@Override
    public int hashCode() {
        return Objects.hash(name, age);
    }*/

    @Override
    protected void finalize() throws Throwable {
        System.out.println(this.name+"对象被回收了!");
    }
}
public class testStudent {
    public static void main(String[] args) {
        Student s1=new Student("aaa",12);
        Student s2=new Student("bbb",21);

//        testGetClass(s1, s2);
//        testHashCode(s1, s2);
//        testToString(s1, s2);
//        testEquals(s1, s2);
        testFinalize();

    }

    private static void testFinalize() {
        Student s3=new Student("ccc",18);
        new Student("ddd",18);
        System.gc();
        //匿名对象被回收,s3没有被回收
        System.out.println("回收垃圾对象");
    }

    private static void testEquals(Student s1, Student s2) {
        System.out.println(s1.equals(s2));
        Student s3=new Student("ccc",18);
        Student s4=new Student("ccc",18);
        System.out.println(s3.equals(s4));
    }

    private static void testToString(Student s1, Student s2) {
        //s1.toString() ===> com.yang.learning.category.commonCategory.ObjectClass.Student@4554617c
        //4554617c (16进制) <===> 1163157884 (10进制)
        System.out.println(s1.toString());
        System.out.println(s2.toString());
    }


    private static void testHashCode(Student s1, Student s2) {
        System.out.println(s1.hashCode());
        System.out.println(s2.hashCode());
        Student s3=s1;
        System.out.println(s3.hashCode());
    }

    private static void testGetClass(Student s1,Student s2) {
        Class c1=s1.getClass();
        Class c2=s2.getClass();
        if(c1==c2){
            System.out.println("同类型");
        }else {
            System.out.println("不同类型");
        }
    }
}
DRAM 埋入式字线(Buried Wordline)技术深度解析:从二维平面到三维凹槽 埋入式字线(bWL)及其核心的埋入式沟道阵列晶体管(BCAT)架构,无疑是 DRAM 发展史上的一次关键性革命。它在约 40nm 技术节点被行业主流采纳,成功地帮助 DRAM 产业克服了传统平面晶体管的物理缩放极限。力挽狂澜的续命技术:bWL 通过引入三维沟道结构,从根本上解决了由短沟道效应和漏电流失控引发的数据保持危机,为经典的 1T1C(单晶体管 - 单电容)DRAM 单元架构延续了超过十年的生命力。协同优化的基石技术。 阅读详情

相关推荐

软件工程:数据字典

数据字典

永远怀着至诚之心拥抱世界 4275

java进阶专栏的学习指南

2601_96207145的博客 226

Altair HyperWorks 2022.3.0 Suite下载

Altair HyperWorks开发团队提供了新的一流技术,以设计和优化高性能、高效和创新的产品,并发布了HyperWorks 2021.2套件。与所有新版本一样,这个版本包含了新特性、增强功能,并修复了前一个版本中用户报告的各种问题,提供了总体上更稳定的体验。链接: https://pan.baidu.com/s/1rYietmQLQUboHiJzYoE9WQ?pwd=m9yh 提取码: m9yh 复制这段内容后打开百度网盘手机App,操作更方便哦。

weixin_48469365的博客 2127

Java 三大修饰符 接口 内部类 常用类 精简笔记

本文系统梳理了Java三大修饰符(abstract、static、final)的核心特性,详细解析了接口的定义、实现与多继承机制,深入讲解了四种内部类的使用场景及语法规则,并总结了常用类(Object、包装类、String等)的关键方法与设计特点。重点包括:abstract强制多态的实现规则、static成员的共享特性与访问限制、final不可变的核心原则;接口的全局常量与抽象方法特性;内部类访问外部类成员的机制;以及String不可变性与StringBuilder/Buffer的性能差异。全文通过对比表格

xuanxxxa_的博客 209

交流异步机VVVF变频控制simulink/matlab仿真分析

VVVF,是Variable Voltage and Variable Frequency的缩写, 意为:可变电压、可变频率,也就是变频调速系统。 VVVF控制的逆变器连接电机,通过同时改变频率和电压,达到磁通恒定(可以用反电势/频率近似表征)和控制电机转速(和频率成正比)的目的,所以多应用在变频器中,属于工业自动化领域。

Ezekiel_Mok的博客 4209

医学影像AI的幻觉问题与CCD解决方案

医学影像AI在辅助诊断中面临的核心挑战是幻觉现象,即模型生成不符合实际影像的虚假诊断。这种现象源于多模态大语言模型(MLLMs)在视觉-语言对齐上的技术局限,可能导致假阳性或假阴性的临床风险。通过临床对比解码(CCD)框架,结合症状锚定和专家引导的双阶段校准机制,可有效提升模型输出的可靠性。该技术在CheXpert和MIMIC-CXR等标准数据集上验证,显著改善了肺不张、胸腔积液等关键指标的检测准确率。对于医疗AI落地场景,这种即插即用的解决方案既规避了数据隐私合规问题,又降低了基层医院的部署门槛,为AI辅

weixin_36303807的博客 322

JAVA笔记

本文总结了Java面向对象编程的核心内容,主要包括:1)IDEA常用快捷键配置;2)方法重载的概念与注意事项;3)四种访问修饰符的访问级别;4)面向对象的三大特征(封装、继承、多态)的实现细节。重点阐述了继承的注意事项、super关键字使用、方法重写规则,以及多态(尤其是对象多态)的向上转型和向下转型机制。文中通过代码示例详细说明了关键概念,并提供了实际开发中的最佳实践建议。

2401_82716534的博客 595

Lmbench测试集 --- 延迟测试工具lat_mem_rd

lmbench测试集简介 以及 lat_mem_rd延迟测试工具: 如何测试、测试结果、源码分析

MonologueYY的博客 1万+

java 一文讲透API [常用类 + 常用工具](20万字博文)

java API(常用类 + 常用工具) 全面总结。Java常用类、集合框架、IO流篇章,20万字深度讲解。

优快云 / 稀土掘金/ B站 / GitHub: Cyan_RA9 8465

【2025国赛C题】高教社杯全国大学生数学建模竞赛C题思路+代码+论文

【2025国赛C题】高教社杯全国大学生数学建模竞赛C题思路+代码+论文

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 2903

Windows密码忘了怎么办?一分钟看懂Windows密码底层机制:无需重装系统也能无痕找回登录密码

忘记Windows开机密码,不一定非得重装系统!本文手把手教你通过提取NTLM Hash值实现“无痕找回密码”,无需PE、无需清除密码,对系统零修改 🛡️ 搭配mimikatz与在线解密平台,小白也能快速上手,了解Windows密码底层机制 🔐

XiaoqiangClub的博客 126

Java基础知识梳理——第八章 常用类

1.与用户互动 main函数详解: public修饰符:Java类由JVM调用,为了让JVM可以自由的调用main方法,使用public修饰符使这个方法暴露出来。 static修饰符:JVM调用main方法时,不会创建该主类的对象,而是直接通过该类调用主方法,因此使用static修饰main方法。 void返回值:因为主方法被JVM调用,该方法的返回值返回给JVM,没有意义,所以main方...

qq_38146189的博客 439

11、系统稳定性分析与李雅普诺夫函数的应用

本文深入探讨了李雅普诺夫函数在系统稳定性分析中的核心作用,重点介绍了时变与时不变系统的稳定性判据差异,以及巴尔巴拉特引理在处理非自治系统中的应用。文章还阐述了正线性系统与严格正实传递函数的性质及其在非线性控制系统中的重要性,并展示了李雅普诺夫函数在评估主导时间常数和设计快速干扰抑制控制策略方面的实际应用。通过具体示例和流程图,系统地总结了李雅普诺夫方法在稳定性分析、性能评估与控制器设计中的多维度价值,同时指出了当前挑战与未来发展方向。

Jerry的专栏 93

常用类梳理

3、JDK提供的一些类,如String,Date等,重写了Object的equals方法,调用这些类的equals方法, x.equals (y) ,当x和y所引用的对象是同一类对象且属性内容相等返回 true 否则返回 false。Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进表示,这样八个和基本数据类型对应的类统称为包装类。所有对象(包括数组)都继承实现这个类的方法。

2301_78525793的博客 152

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Java Object 类笔记

因为String底层使用final修饰的char[]数组存储字符。数组本身不可变,且String类没有提供修改数组内容的方法,所有“修改”操作都会返回新对象。Java Object 类深度解析这种设计带来了线程安全、字符串常量池复用、哈希值缓存等好处。Object类是 Java 的根类,掌握其核心方法是理解 Java 面向对象的基础。equals和hashCode的约定是哈希集合正确工作的关键。String的选择直接影响程序性能和线程安全性。

2301_82251392的博客 373

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java知识梳理一(Object)

最近工作量比较少,所以抽出时间整理一下java知识,简单描述下方法,以后有空或许会详细说 package java.lang; //object是类层次结构的根,简称“万类之王” public class Object { //native 是java调用非java接口的修饰符 //registerNatives()可以当作一个注册本地函数的方法 private static ...

weixin_43866244的博客 249

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

「JavaSE」- 常用类

常用类 Object类 Object是所有类的父类,任何类都默认继承Object。理论上Object类是所有类的父类,即直接或间接的继承java.lang.Object类。由于所有的类都继承在Object类,因此省略了extends Object关键字。 该类中主要有以下方法: toString() getClass() equals() clone() finalize() 其中 toString(),getClass(),equals()是其中最重要的方法。 【演示:查看Object类

WangJinDL的博客 464

Java 必学常用类精讲,面试高频考点一次性吃透

吃透这些知识点,既能夯实 Java 基础,也能轻松应对面试提问。,所以想要比较对象内容,必须手动重写该方法。,由于浮点型运算会出现精度丢失,涉及金额、小数计算时,一定要用它实现精确运算,支持加减乘除和四舍五入,是金融项目的必备工具类。具有不可变性,拼接字符串时会生成新对象,效率偏低。结果为 false。这块内容,它不仅是日常开发的基础,更是面试中的高频考点。

2601_95470094的博客 761

2021-08-17Java常用类

第六章:Java常用类知识梳理 6.1 Object和Object常用方法 Java中的顶级类是Object类,Object类是所有类的父类,那么Object提供的常用方法有哪些呢? 答案:equals、hashcode、toString。 下面我们一起来看看Object类相关的一些方法使用: 这是Object的hashcode(返回对象的哈希码值)和equals方法(判断指定对象与该对象是否相等): package com.obj; public class Mytest1 { public

m0_56896288的博客 194

Java基础类必读篇

这些都是java开发都用过得API,对于常用的API需要了解其原理,才能抗得住面试官得拷问。希望这篇博客能帮助你加深对Java基础知识的掌握,继续学习,实践编程,你会发现Java的魅力无穷!如果这篇文章对您有所帮助,或者有所启发的话,帮忙关注一下,您的支持是我坚持写作最大的动力。关注公众号:【我不是架构师】,在公众号中回复:"面试",可以免费获取我最近整理的10万字的面试宝典,好多小伙伴靠这个宝典拿到了多家大厂的offer。

2401_89230798的博客 1196

12_常用类

String具有不可变性,字面值为常量,字符串操作(如拼接)会在副本上进行,效率较低,但当+两端均为字符串常量时,编译器会直接编译为拼接结果,仅创建一个对象。常用构造方法为带String参数的构造(推荐使用,避免精度问题),核心方法包括add()(加法)、subtract()(减法)、multiply()(乘法)、divide()(除法),其中除法方法需指定三个参数:分母、保留小数位数、取舍模式(常用四舍五入模式BigDecimal.ROUND_HALF_UP)。# Java常用类核心知识点总结。

2501_91001708的博客 338

Java中最基础的类库是什么_Java核心技术梳理-基础类库

Java核心技术梳理-基础类库发布时间:2019-04-24 08:23,浏览次数:127, 标签:Java一、引言Oracle为Java提供了丰富的基础类库,Java 8提供了4000多个基础类库,熟练掌握这些基础类库可以提高我们的开发效率,当然,记住所有的API是不可能也没必要的,我们可以通过API文档或直接网上搜索来逐渐熟悉大部分类的功能和方法,下面我们来学习一些基础类库。二、Scanner...

weixin_35672512的博客 253

Java从键盘输入n行字符串_Java核心技术梳理-基础类库

一、引言Oracle为Java提供了丰富的基础类库,Java 8 提供了4000多个基础类库,熟练掌握这些基础类库可以提高我们的开发效率,当然,记住所有的API是不可能也没必要的,我们可以通过API文档或直接网上搜索来逐渐熟悉大部分类的功能和方法,下面我们来学习一些基础类库。二、ScannerScanner类可以很方便的获取用户的键盘输入,是一个基于正则表达式的文本扫描器,可以从文件、输入流、字符...

weixin_39670441的博客 559

Java核心技术梳理-基础类库

一、引言 Oracle为Java提供了丰富的基础类库,Java 8 提供了4000多个基础类库,熟练掌握这些基础类库可以提高我们的开发效率,当然,记住所有的API是不可能也没必要的,我们可以通过API文档或直接网上搜索来逐渐熟悉大部分类的功能和方法,下面我们来学习一些基础类库。 二、Scanner Scanner类可以很方便的获取用户的键盘输入,是一个基于正则表达式的文本扫描器,可以从...

weixin_30929195的博客 182

Java 核心基础进阶:API 查阅、Object 类应用与包装类设计

本文系统梳理了Java开发中的三大核心技能:API文档查阅、Object类应用和包装类使用。详细介绍了在线文档、IDE工具等API查阅渠道及高效检索技巧;深入解析Object类在集合框架、多线程等场景的关键作用;阐述了包装类在数据类型转换、数据处理等方面的优势。掌握这些基础技能能显著提升代码质量、开发效率和系统健壮性,为Java进阶学习奠定坚实基础。

MEVREX的博客 379

JAVA笔记(Java API常用类)

本文介绍了Java API中的核心类及其应用场景,主要内容包括: Object类作为所有类的超类,提供了toString()、equals()、hashCode()等基础方法,需要根据需求重写。 字符串处理类String(不可变)、StringBuilder(可变非线程安全)和StringBuffer(可变线程安全)的区别与使用场景。 包装类(如Integer、Boolean)的作用,实现了基本类型与对象类型的转换,支持自动装箱/拆箱机制。 日期时间类(LocalDate、LocalDateTime等)和正

SG_3604的博客 625
上一篇: Java知识梳理---内部类(扩展)
下一篇: Java常用类--包装类
likehack
博客等级 码龄8年 526粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

likehack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值