JAVASE之Object

本文介绍了Java中如何通过重写toString方法来自定义对象的描述方式,并详细解释了equals方法的重写逻辑,以便正确地比较对象的内容而非内存地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

obiect中的方法:

toString方法

返回值类型是一个字符串

如何重写toString

正常创建的对象有个toString()方法
,返回类名地址等信息

重写toString

public String toString(){
//这个name和age是这个类中的属性
return name+”,”+age;

}

然后再次调用toString方法就就返回这个了

就是这样,所有那个用StringBuilder 定义后直接输出就显示String
给她输出toString了。

重写toString,来描述这个对象。

equals方法

返回是一个布尔型,比较字符串

双等于比的是是否为同一个对象,equals比的是这个两个对象内容(像不像)

person qq = person
person ww = person

if(qq==ww){返回的是false}
if(qq.equals(ww)){返回的是true}



重写equals方法

//改方法用来判断当前对象与给定对象“长的像不像”
/比内容(属性)
publc boolean equals(Object obj){
if(obj==null){
//null是没有。
return false;

}

if(obj==this){
return true;
}
以上的固定的。
//用instanceof 看obj是不是 Teacher这个类
if(obj instanceof Teacher){
//先转换为Teacher,然后去比内容
//比较这些属性
Teacher t = (Teacher)obj;
return t.name.equals(this.name)
&&t.age==this.age
&&t.gender.equals(this.gender);
;

}

return false;
}

基本类型用双等于
字符串 String 不是基本类型,所以也用equals比较

object的equals的比较是用双等于比较的所以要重写

参数定义为object ,那么就都能接受了,除了基本类型
就像int long boolean等等不是以对象的形态存在。
不能以多态的东西传入。

那解决基本类型就有了对应的基本类型的类
int—Integer
Interger in = new Interger(1);
用这个类的话就可以传入object参数了。

就叫这个包装类
让基本类型参与面向对象开发

包装类是final的,不能定义他们的子类

这里写图片描述

Number及其主要方法

抽象类Number是Byte、Double、Float、Integer Long和Short类的父类
Number的子类必须提供将表示的数字转换为byte,double,float,int,long和short的方法:
doubleValue() 以double形式返回指定的数值
intValue() 以int形式返回指定的数值
floatValue() 以float形式返回指定的数值

返回基本类型:

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Double d = new Double(123.1);
        //把d变回基本类型
        d.doubleValue();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值