title: Java: Implement the same interface multiple times due to inheritance. Is it ok?
body: <p>The question has mostly to do with how inheritance and extension works. </p>
  
  <p>I currently have the following:</p>
  
  <p><code>public class Client extends BaseClient { ... }</code> and</p>
  
  <p><code>public class BaseClient extends MinimalisticClient { ... }</code></p>
  
  <p>The main difference between them is the amount of parameters (data) they hold (fetched from a database).</p>
  
  <p>What I want to do is create an interface for each individual one that would contain only the getters.</p>
  
  <p>so, it would be something like: </p>
  
  <pre><code>public interface IMinimalisticClient { getters }
  public class MinimalisticClient implements IMinimalisticClient { ... }
  
  public interface IBaseClient extends IMinimalisticClient { the extra getters }
  public class BaseClient extends MinimalisticClient implements IBaseClient { ... }
  
  public interface IClient extends IBaseClient { the extra extra getters }
  public class Client extends BaseClient implements IClient { ... }
  </code></pre>
  
  <p>Taking BaseClient as an example. When I extent MinimalisticClient, I implement the IMinimalisticClient into BaseClient by default. But then, I also implement IBaseClient which extends IMinimalisticClient as well. Is this acceptable? Am I doing something completely stupid?</p>
  
  <p>Just as a mention, I am doing the way I presented it only because the software will run on cheap android devices and I have to manage the memory usage as much as possible.</p>