gpt4 book ai didi

java - 子类的抽象类和强制方法?

转载 作者:行者123 更新时间:2023-12-01 17:00:42 24 4
gpt4 key购买 nike

我有这个抽象基类,它的每个子类都应该有一个特定的强制功能,但略有不同。使用抽象类是否可以实现这一点,或者我应该为此使用接口(interface)吗?

我将使用这样的结构

public abstract class Animal
{
//Mandatory method
Public void sound()
{

}
}

public class Cat extends Animal
{
public void sound()
{
System.out.println("Miauw");
}
}

public class Dog extends Animal
{
public void sound()
{
System.out.println("Woof");
}
}

//I will put all these child objects in a List<Animal> and need to call these methods.

for (Animal a : animalList)
{
a.sound();
}

如何处理这个结构?我必须补充一点,我使用的是抽象类,因为有很多相同的方法需要在子类之间共享。只是其中一些方法需要彼此不同,但必须是强制性的,并且可以从基类访问。

最佳答案

您正在寻找:

public abstract class Animal
{
//Mandatory method
abstract public void sound();
}

但也要看看其他用户的建议:

  • 方法名称使用小写
  • 关键字public始终采用小写
  • 如果您的 Animal 类没有所有子类的通用代码,请使用接口(interface)

关于java - 子类的抽象类和强制方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27820148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com