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()
    }
}
相关推荐
旖旎夜光6 小时前
C++(17)
c++·学习
专注于大数据技术栈7 小时前
java学习--StringBuilder
java·学习
锦瑟弦音8 小时前
微信小游戏分包(cocos自带分包)
笔记·游戏
找方案8 小时前
我的 all-in-rag 学习笔记:文本分块 ——RAG 系统的 “信息切菜术“
人工智能·笔记·all-in-rag
HXR_plume8 小时前
【Web信息处理与应用课程笔记1】网页排序(上)
笔记
qcwl668 小时前
操作系统 真象还原 学习笔记#13
笔记·学习
车载测试工程师8 小时前
CAPL学习-CAN相关函数-概述
网络协议·学习·capl·canoe
roman_日积跬步-终至千里9 小时前
【人工智能导论】08-学习-如何让计算机理解序列数据——用RNN/LSTM建模时序依赖,用文本嵌入表示序列元素
人工智能·rnn·学习
m0_689618289 小时前
30 分钟打印!多材料3D打印软机器人内置驱动 + 自主避障
笔记·学习·机器人
charlie1145141919 小时前
现代嵌入式C++教程:C++98——从C向C++的演化(2)
c语言·开发语言·c++·学习·嵌入式·教程·现代c++