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


我应该只使用Interfaces和Concrete类吗?
还是使用类(带有Getter和Setter)并仅实现方法?
我应该混合吗?是不好的做法吗?


接口:

public interface Animal {
  void roar();
}


通过接口实现方法的具体类

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();
}


在此先感谢您,非常感谢您的帮助。

最佳答案

如果我理解正确,那么您的问题是:


  每次创建类时都需要实现一个接口吗?


答案是不。接口仅用于抽象。如果几个类共享通用方法,则使用接口可以简化代码。

有关接口的更多信息(何时使用,如何使用),请参阅《有效的Java》(第19项)。这里是一个链接:

Effective Java Item 19

希望能解决您的问题。

10-06 13:05