例如:package k;
public class Animal {
public int age=10;
public Animal(){
System.out.println("animal class is running");
}
}package k;
public class Dog extends Animal {
public Dog(){
System.out.println("dog class is running");
}
}package k;
public class HelloWorld {
public static void main(String[] args){
Dog dog=new Dog();
System.out.println(dog);
}
}结果:animal class is running
dog class is running
k.Dog@1db9742打印dog对象时有那么多方法不用,为什么只打印了toString()
4 回答
已采纳
Raelovejava
TA贡献10条经验 获得超6个赞
不明白你问的是什么…toString方法是Object类的方法,所有类都从Object类继承。在参数是一个对象时,会首先调用该对象的toString方法
KevinHY
TA贡献4条经验 获得超3个赞
Java中输出一个类的对象的时候,会调用这个Object类的toString()方法。自己写的类没有覆盖这个方法的话就是继承Object类的这个方法,Object中toString()方法的实现是这样的:getClass().getName() + "@" + Integer.toHexString(hashCode())。后面跟的是这个类的哈希码值,如果希望这个类打印出你希望的格式,你就要覆盖toString方法,按照你自己想要的格式对toString()方法进行重写。
大咪
TA贡献785条经验 获得超332个赞
打印对象我记得好像只能用toString方法吧- -,你这段程序的目的在于告诉你,如果打印输出子类,先运行的会是父类,然后再运行子类结果。。至于你说的那个我没太懂- -。。
添加回答
举报
0/150
提交
取消