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();

    }
}
相关推荐
Rabbit_QL2 小时前
【水印添加工具】从零设计一个工程级 Python 图片水印工具:WaterMask 架构与实现
开发语言·python
张柏慈2 小时前
Java性能优化:实战技巧与案例解析
java
天“码”行空2 小时前
简化Lambda——方法引用
java·开发语言
z20348315202 小时前
C++对象布局
开发语言·c++
Beginner x_u2 小时前
如何解释JavaScript 中 this 的值?
开发语言·前端·javascript·this 指针
带刺的坐椅3 小时前
MCP 进化:让静态 Tool 进化为具备“上下文感知”的远程 Skills
java·ai·llm·agent·solon·mcp·tool-call·skills
java1234_小锋3 小时前
Java线程之间是如何通信的?
java·开发语言
张张努力变强3 小时前
C++ Date日期类的设计与实现全解析
java·开发语言·c++·算法
feifeigo1233 小时前
基于EM算法的混合Copula MATLAB实现
开发语言·算法·matlab
LYS_06184 小时前
RM赛事C型板九轴IMU解算(4)(卡尔曼滤波)
c语言·开发语言·前端·卡尔曼滤波