Java——Object类详解

我们学习的所有类、我们以后定义的所有类,都是Object类的子类,也都具备Object类的所有特性。因此,我们非常有必要掌握Object类的用法。

Object类的基本特性

Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。如果在类的声明中未使用extends关键字指明其父类,则默认Object类。

java 复制代码
public class Person{
   ......
}
//等价于:

public class Person extends Object{
    ......
}

toString方法

Object类中定义有public String toString()方法,其返回值类型是String类型。Object类中toString方法的源码为:

java 复制代码
public String toString(){
    return getClass().getName()+"@"+Integer.toHexString(hashCode());
        }

根据如上源码得知,默认会返回"类名+@+16进制的hashcode"。在打印输出或者用字符串连接对象时,会自动调用该方法的对象的toString()方法。

重写toString()方法的实例代码

java 复制代码
class Person{
    String name;
    int age;
    @Override
    public  String tostring(){
        return name+",年龄:"+age;
        
    }

}
public class Test{
    public static void main(String[]args){
        Person p=new person();
        p.age=20;
        p.name="kuku";
        System.out.println("info:"+p);
        Test t=new Test();
        System.out.println();

    }
}
相关推荐
阿正的梦工坊3 小时前
JavaScript 微任务与宏任务完全指南
开发语言·javascript·ecmascript
chools3 小时前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
知行合一。。。4 小时前
Python--05--面向对象(属性,方法)
android·开发语言·python
李白你好4 小时前
TongWeb EJB 反序列化生成工具(Java-Chain 插件)
java·安全
青梅橘子皮4 小时前
C语言---指针的应用以及一些面试题
c语言·开发语言·算法
浅时光_c4 小时前
3 shell脚本编程
linux·开发语言·bash
Evand J4 小时前
【三维轨迹目标定位,CKF+RTS,MATLAB程序】基于CKF与RTS平滑的三维非线性目标跟踪(距离+方位角+俯仰角)
开发语言·matlab·目标跟踪
U盘失踪了5 小时前
Java 的 JAR 是什么?
java·jar
今天又在写代码5 小时前
java-v2
java·开发语言
competes6 小时前
慈善基金投资底层逻辑应用 顶层代码低代码配置平台开发结构方式数据存储模块
java·开发语言·数据库·windows·sql