Java 学习和实践笔记(27):Object类的基本特性、toString方法以及IDEA的部分快捷键介绍

Object类基本特性:

1.Object类是所有类的父类,所有的Java对象都拥有Object类的属性和方法(注意拥有并不等于可以直接使用)

2.如果在类的声明中未使用extends,则默认继承Object类。

toString方法是Object类里定义的一个方法,其作用是返回默认对象的地址(对象的hashcode是根据对象的地址生成唯一值,这里暂时直接视作对象的地址。)

使用示例1:

java 复制代码
public class TestObject {
    int id;
    String name;
    String pwd;

    public TestObject(int id, String name, String pwd) {//自定义的构造器
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }

    TestObject(){};//写了自定义构造器如仍要默认的构造器,就需要写出来。

    public static void main(String[] args) {
        TestObject t1 = new TestObject();
        System.out.println(t1.toString());//使用toString()方法得到t1的地址
        TestObject t2 = new TestObject();
        System.out.println(t2.toString());
        System.out.println(t2);//如果不写toString,默认也是调用toString()
    }
}

运行结果如下:

toString方法如上所示,默认作用只是返回对象的地址。如果我们想用这个方法,返回对象的一些属性,那么需要重写这个方法。示例如下:

java 复制代码
public class TestObject {
    int id;
    String name;
    String pwd;

    public TestObject(int id, String name, String pwd) {//自定义的构造器
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }

    TestObject(){};//写了自定义构造器如仍要默认的构造器,就需要写出来。


    @Override
    public String toString() { //这就是重写了toString方法,使其能返回想要的对象属性
        return "ID:"+id+"账户名:"+name+"密码:"+pwd;
    }

    public static void main(String[] args) {
        TestObject t1 = new TestObject();
        System.out.println(t1.toString());//使用toString()方法得到t1的地址
        TestObject t2 = new TestObject();
        System.out.println(t2.toString());
        System.out.println(t2);//如果不写toString,默认也是调用toString()
    }
}
相关推荐
黄暄32 分钟前
Docker项目部署深度解析:从基础命令到复杂项目部署
运维·笔记·docker·容器·持续部署
LuckyLay33 分钟前
Vue百日学习计划Day33-35天详细计划-Gemini版
前端·vue.js·学习
ᖰ・◡・ᖳ37 分钟前
JavaScript:PC端特效--缓动动画
开发语言·前端·javascript·css·学习·html5
superior tigre1 小时前
C++学习:六个月从基础到就业——C++20:范围(Ranges)进阶
c++·学习·c++20
小葡萄20251 小时前
黑马程序员C++2024版笔记 第0章 C++入门
开发语言·c++·笔记
人类恶.2 小时前
C 语言学习笔记(函数2)
c语言·笔记·学习
wktomo2 小时前
GO语言学习(五)
学习·golang·web3
CodeWithMe2 小时前
【Go】从0开始学习Go
开发语言·学习·golang
Lester_11012 小时前
嵌入式学习笔记 - STM32独立看门狗IWDG与窗口看门狗WWDG的区别
笔记·stm32·学习·嵌入式
收费界的一股清流3 小时前
npm 安装时 SSL 证书过期问题笔记
笔记·npm·ssl