我需要显示信息,但这不起作用。为什么?

时间:2015-02-23 00:28:20

标签: java

System.out.println("The non pure blood Horses over 2 years old are: ");
if(!pureBlood == false)
{
    System.out.printf("name= %s\nage= %d\nheight= %s\ncolor= %s\n", 
                             this.name, this.age, this.height, this.color);
}

当我编译它时,我得到这样的错误

non-static variable this cannot be referenced from a static context 
System.out.printf("name= %s\nage= %d\nheight= %s\ncolor= %s\n", this.name, this.age, this.height, this.color);"

1 个答案:

答案 0 :(得分:0)

您正试图在代码中的静态方法中引用您的变量(this.name,this.age,...大概)。

如果要打印这些属性,请将其放在类中的实例方法中。

public void toString(){
          System.out.println("The non pure blood Horses over 2 years old are: ");
          if(!pureBlood == false){
          System.out.printf("name= %s\nage= %d\nheight= %s\ncolor= %s\n", 
                               this.name, this.age, this.height, this.color);
          }
    }

如果没有更多的代码,我不知道你真正想要做什么,所以这只是猜测。