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()
    }
}
相关推荐
AAA阿giao几秒前
JavaScript 中的变量声明:var、let 与 const 深度解析
javascript·笔记
W.Y.B.G2 分钟前
css3 学习笔记
笔记·学习·css3·1024程序员节
摇滚侠10 分钟前
Spring Boot3零基础教程,函数式 Web 新特性,笔记51
java·spring boot·笔记
moringlightyn27 分钟前
c++ 智能指针
开发语言·c++·笔记·c++11·指针·智能指针
执笔论英雄29 分钟前
【大模型推理】ScheduleBatch 学习
java·spring boot·学习
AL流云。1 小时前
学习Docker前提:多环境安装Docker
学习·docker·eureka·1024程序员节
2301_803554522 小时前
Http学习
网络协议·学习·http
风已经起了2 小时前
FPGA学习笔记——用Vitis IDE生成工程(串口发送)
笔记·学习·fpga开发·fpga·1024程序员节
学工科的皮皮志^_^2 小时前
锂电池充放电管理学习
经验分享·笔记·单片机·嵌入式硬件·学习·1024程序员节
"菠萝"2 小时前
C#知识学习-018(方法参数传递)
学习·c#·1024程序员节