当前位置: 首页 > 知识库问答 >
问题:

toString方法不显示,但代码编译[重复]

水焱
2023-03-14

Java代码已编译,但不显示toString方法。我需要在子类中调用它吗?或者toString是否有不同的方式来显示实例变量?

public class Animal { 
    //instance variables
    private int numberOfLegs; 
    private boolean sleep; 

    //Default Constructor
    public Animal() {
        numberOfLegs = 6;
        sleep = true;
    }

    // Constructor
    public Animal(int numberOfLegs, boolean sleep){
        this.numberOfLegs = numberOfLegs;
        this.sleep = sleep;
    }

    //toString method
    public String toString (int numberOfLegs, boolean sleep){
        return numberOfLegs + " legs, sleep: " + sleep;
    }
    //walk method
    void walk(){
        System.out.print("walking ");
    }
    public static void main(String[] args) {
        Animal animal1 = new Tiger();
        animal1.walk();
        animal1.toString(4, false);
    } //end main
}// end animalclass

class Tiger extends Animal {
    void walk(){
        super.walk();
        System.out.println("a Tiger");
    }
    public Tiger(){
        super();
    }
} //end Tiger class

共有1个答案

松景铄
2023-03-14

toString()返回一个字符串。它不执行任何显示逻辑(不同于walk()方法,该方法打印内容但不返回任何内容)。

您需要使用系统显示它。出来println()或其他方式。

toString()方法也不应该接受参数。你已经知道动物有多少条腿了,所以参数没用。

 类似资料:
  • 本文向大家介绍java tostring方法重写代码示例,包括了java tostring方法重写代码示例的使用技巧和注意事项,需要的朋友参考一下 当需要将一个对象输出到显示器时,通常要调用他的toString()方法,将对象的内容转换为字符串.java中的所有类默认都有一个toString()方法 默认情况下 System.out.println(对象名)或者System.out.println

  • 我试图做的是从我的两个数组中获得一个随机值,我已经成功地做到了。我的问题是,当从我的Card类创建对象的实例时,我没有收到正确的输出。我希望我的输出类似于“红桃2”或“黑桃杰克”。相反,我没有输出,但代码运行成功。 代码如下: 以及具有Card对象实例的类:

  • 问题内容: 使用JDK 11,Eclipse 2019-03和jaxb- api(版本2.4,最新版本在maven存储库中可用)时,Eclipse中的Java编辑器会突出显示以下行: 作为错误: 包javax.xml可以从多个模块访问:未命名的java.xml 但是代码已编译,并且“问题”选项卡中未显示任何错误。删除jaxb-api依赖关系会使错误消失。该项目中的jaxb-api位于类路径上,并包

  • 如何编写一个toString()方法,为三名员工打印名称和computePay,小数点后两位?在我添加StringBuilder之前,该程序正在工作(将名称和周支付打印到命令行)。感谢任何帮助。

  • 代码不编译。我不明白错误是什么,请帮忙) 错误文本:g-Wall-c“main.cpp”(/media/ad/4GB-NTFS/prog/laba2)main。cpp:In函数“int main()”:main。cpp:46:12:错误:调用“Record::Record()”记录r1;^主要的cpp:12:1:注意:候选者:Record::Record(std::\u cxx11::string

  • 我对IntelliJ有问题--如果我用Ctrl+单击该类,它会显示一个类的“反编译”版本,而不是它的源代码。 这就是我所看到的: 我正在尝试打开常规的JDK源文件。 src.zip没有损坏-我可以通过WinRAR打开它 当将JDK1.8.0_161添加到IntelliJ中时,它会自动找到src.zip。当手动将src.zip添加到jbsdk8u112b287.2_windows_x86 Sourc