Object类的经典方法(06年8月25日更新,修改一个错误)

        们在编写类的时候都知道,有equals方法,toString方法,hashCode方法,clone方法,getClass方法,在今后的一段时间我会一点一点的把这些方法逐个刨析清楚。
 toString()
 toString()方法是基类Object的方法,其实我们每天的工作都在使用他,比如我们现在需要打印一个String类型变量i的值,
自然我们就会想到使用System.out.println(i);此时的i其实就是i.toString()他会自动调用toString方法将i转换成为String类型,再打印。
当我们想打印一个对象的时候,也许就不如我们所愿了,比如有一个Students类,当我们使用System.out.println(Students);方法想打印Stends的信息时打印出来的就是我们看不懂的东西了,这是因为我们的Students类没有覆盖Object类的toString方法,我们写一个就行了
  public String toString()
 {
  return getClass().getName() + "学员名称" + name + "学员年龄" + age;
 }
这样我们再使用System.out.println(Students);的时候就会打印出我们需要的信息了。
深入一下,如果我们现在有一个类继承了Students,比如 class Pupil extends Students 在Pupil类中又增加了一个int类型的变量id
那么我们Pupil类的toString方法该怎么写呢?
 

这时我们只要在Pupil类中重写toString方法,在其中增加一些信息就行了,
 public String toString()
 {
  
  return super.toString() + "学员编号" + id;
 }


再使用System.out.println(Pupil);打印小学生的信息,就得到了我们想要的结果了,其实在实际开发中toString方法自己编写这个方法非常有用,他能够很清楚的显示出类的内容和信息。
 

public class TestgetClass
{
 private int id;
 private String name;
 
 
 public TestgetClass(int id,String name)
 {
  this.id = id;
  this.name = name;
 }
 
 
 public String toString()
 {
  return getClass().getName() + " 学员编号 " +this.id + " 学员姓名 " + this.name;
 }
 
 
 public static void main(String[] args)
 {
  System.out.print(new TestgetClass(15,"刘翔"));
 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值