java 默认tostring_【Java】对Object类的理解以及两大默认方法ToString(),equals()的重写...

Object是一个很特殊的类,他可以看成任何类的父类,所以他的所有默认方法都可以在任何类中被调用,也就是这次要讨论和强调的地方;

定义一个object类的数组,可以放置任何类型的数据,但是放置进去之后,数据类型将会被抛弃,所以取出时候仍然需要对其进行类型的转换。

两个比较常用的方法有:

toString()

equals()

紧接着而来就会出现问题,toString()默认返回的是对象的地址,如果想返回内容又该如何呢,看以下一段代码

public class ObjectToString {

public static void main(String[] args){

ToString ts = new

ToString();

ts.age=17;

ts.name="Mike";

ts.Sex="Male";

System.out.println(ts);

ts.SetName("Lisa");

ts.SetAge(18);

ts.SetSex("Female");

System.out.println(ts.toString());

}

}

class ToString{

String name;

int age;

String Sex;

public ToString(){

};

public ToString(String name,int age, String

Sex){

super();

this.name=name;

this.age=age;

this.Sex=Sex;

};

public void SetName(String Name){

this.name = Name;

}

public void SetAge(int Age){

this.age = Age;

}

public void SetSex(String Sex){

this.Sex = Sex;

}

public String

toString(){

return "Name:" + name

+"\nAge:"+age+"\nSex:"+Sex;

}

}

我们创建了新的ToString类,但是却完全没有让其继承任何东西,那是如何做到对toString()这一函数的重写呢,其实,toString()是object的默认方法,而我们定义的类全部继承了object()这一父类,所以我们不需要用extends就可以实现对其重写。

而不重写的时候system.out.println(ts)将返回的是这个对象的地址,当我们进行重写后,我们就能返回地址中包含的内容,这也就是为什么这个程序中

system.out.println(ts)

system.out.println(ts.toString())输出结果一样的原因

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值