Java中toString方法的重写

不对toString方法重写:

public class Animal {
    private String name;
    private String gender;
    private double age;

    public Animal(String name, String gender, double age) {
        this.name = name;
        this.gender = gender;
        this.age = age;
    }

    public static void main(String[] args) {
        Animal animal=new Animal("嗅嗅","男",2.5);
        System.out.println(animal);
    }
}

结果:

Animal@1b6d3586

Process finished with exit code 0

原因是其调用了object类(所有类都默认继承object类)中的toString方法,解决方法就是重写:

public class Animal {
    private String name;
    private String gender;
    private double age;

    public Animal(String name, String gender, double age) {
        this.name = name;
        this.gender = gender;
        this.age = age;
    }

    @Override
    public String toString() {
        return name+" "+gender+" "+age;
    }

    public static void main(String[] args) {
        Animal animal=new Animal("嗅嗅","男",2.5);
        System.out.println(animal);
    }
}
嗅嗅 男 2.5

Process finished with exit code 0
经验分享 程序员 微信小程序 职场和发展