java - 类和具体类

标签 java oop polymorphism

我想知道这些类之间的区别,在我的应用程序中,我需要设置一些参数并通过方法传递对象。我有一些仅包含方法的接口(interface)(主要是 DAO/Factory 方法)。我对我的代码有一些疑问。

  • 我应该只使用接口(interface)和具体类吗?
  • 或者使用类(使用 Getter 和 Setter)并仅实现方法?
  • 我应该混合它们吗?是一种不好的做法吗?

界面:

public interface Animal {
  void roar();
}

具有接口(interface)实现方法的具体类

public Lion implements Animal {
@overrride
 void roar(){
    //roar like lion!
  }
}

具体类:我有一个用于构造对象来进行 DAO 操作的类。

public class Lion {
  private String lionName;
  getter and setter...
  void roar(){
 //Roar like Lion.
 }
}

摘要:

abstract class Lion {
  abstract public void abstractRoar();
}

提前致谢,一如既往,非常感谢您的帮助。

最佳答案

如果我理解正确的话,你的问题是:

Do I need to implement an interface every time I create a class?

答案是否定的。接口(interface)仅用于抽象。如果几个类共享公共(public)方法,则使用接口(interface)将简化代码。

有关接口(interface)的更多信息(什么时候应该使用,如何使用),请参阅《Effective Java》(第 19 条)一书。这是一个链接:

Effective Java Item 19

希望能解决您的问题。

关于java - 类和具体类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41814612/

相关文章:

wcf - 哦问题: applying same logic to 2 similar objects

c++ - 派生对象可以转换为 C++ 模板类中的基引用吗?

java - 如何删除字符串中的单个字符(java)?

java - Java 函数的参数是否需要可选接口(interface)?

javascript - JS Lint - 严格违反 - 在构造函数对象中定义函数

php - 如果对象在同一类中实例化,则可以公开调用私有(private)函数

c++ - 为什么我必须在 C++ 的派生类中重新声明被覆盖的函数?

java - 根据同一 Jframe 中另一个面板的 Jbutton 更改面板的 JLabel

upgrade - IBM JDK/JRE 5 的生命周期结束了吗?

python - 如何将描述符与实例的属性一起使用?