Java 类方法可以在对象上反映被动动作,还是必须始终反映主动动作?

Java 类方法可以在对象上反映被动动作,还是必须始终反映主动动作?,java,function,class,oop,methods,Java,Function,Class,Oop,Methods,我想知道编写类方法的正确方法。我非常确定这里的第一个类遵循正确的编码标准,因为这些方法反映了类的实例可能做的事情 class Turkey { public void hunt() { System.out.println("Hunting for insects..."); } public void eat() { System.out.println("Eating plants, fruits, berries and insect

我想知道编写类方法的正确方法。我非常确定这里的第一个类遵循正确的编码标准,因为这些方法反映了类的实例可能做的事情

class Turkey {
    public void hunt() {
        System.out.println("Hunting for insects...");
    }
    public void eat() {
        System.out.println("Eating plants, fruits, berries and insects...");
    }
}
但是,类方法是否可以反映类实例作为接收者的操作

class Turkey {
    public void hunt() {
        System.out.println("Hunting turkey...");
    }
    public void eat() {
        System.out.println("Happy Thanksgiving!");
    }
}

如果他们的名字很清楚的话,那就好了。我倾向于根据实际情况做出选择。只要它清楚并且不疯狂……对于堆栈溢出来说,这可能是一个太宽泛的问题——您可以尝试一下。作为一个简短的回答,通常方法应该是一个类对其行为负责的动作;因此,如果火鸡可以选择如何
beHunted
,那么这应该是
turkey
类上的一个方法,但是如果猎人可以选择如何
hunter
猎取火鸡,那么这应该是
hunter
类上的一个方法。在您的示例中,除了向控制台打印琐碎内容之外,实际上没有任何行为,因此没有好的答案。