类中的Java函数不工作

类中的Java函数不工作,java,class,intellij-idea,Java,Class,Intellij Idea,如果这是一个非常简单的解决方案,请提前道歉。但我对Java世界还不熟悉,我正试图为咯咯笑创建一个简单的脚本 我创建了一个简单的类,在这个类中我称之为我的宠物类。它包含了类的简单蓝图,以及我希望能够在主类中调用的函数 import java.awt.*; public class Pet { String petType; Color petColor; String petSound; public Pet(String inputType, Color i

如果这是一个非常简单的解决方案,请提前道歉。但我对Java世界还不熟悉,我正试图为咯咯笑创建一个简单的脚本

我创建了一个简单的类,在这个类中我称之为我的宠物类。它包含了类的简单蓝图,以及我希望能够在主类中调用的函数

import java.awt.*;

public class Pet {

    String petType;
    Color petColor;
    String petSound;

    public Pet(String inputType, Color inputColor, String inputSound){
        this.petType = inputType;
        this.petColor = inputColor;
        this.petSound = inputSound;
    }

    public void petSpeak(String Pet.petType){
        System.out.println(Pet.petSound + "!!");
    }
}
然而,我认为我做得不对/遗漏了一些东西。因为我正在使用的IDE(IntelliJ)在
Pet.petType
下放置了红色的曲线

My Main类包含以下代码:

Pet Rex = new Pet("Dog", Color.BLACK, "Woof!");
Pet Thumper = new Pet("Rabbit", Color.WHITE, "...");
Pet Jim = new Pet("Budgie", Color.YELLOW, "Cheep Cheep!");

System.out.println(petSpeak(Rex.petSound));
我想做的是,当调用
petSpeak
时(使用petType作为参数)。宠物的声音会打印给用户


如果能帮上忙,那就太好了

public void petSpeak(String Pet.petType)
更改为
public void petSpeak()

System.out.println(petSpeak(Rex.petSound))
to
Rex.petSpeak()


基本上,您不需要在
void petSpeak()
中使用参数,因为object Rex已经具有在这里分配的值
Pet Rex=new Pet(“Dog”,Color.BLACK,“Woof!”)
并通过键入
objectName.methodName

从类中调用方法,将鼠标悬停在红色的曲线上,读取方法定义中的错误,更具体地说,在输入中,需要变量的类型和名称。因此,您只需要一个名称,如public void speak(字符串类型)。您尝试使用成员变量petType。您还可以将该方法重命名为speak()。pet前缀是冗余的。顺便说一句。
petSpeak
不需要参数。这是一个可以在如下对象上调用的方法:
Rex.petSpeak()
。谢谢大家!