【问题标题】:Implementing the interface and joining the interface methods with instance variables实现接口并将接口方法与实例变量连接起来
【发布时间】:2016-12-06 07:22:52
【问题描述】:
public interface Usable {
    public boolean isUsed();
    public void setAsUsed();
    public void setAsNotUsed();
}

我的问题是: Book 类必须实现 Usable 接口,并将接口方法与状态实例变量连接起来,以设置已使用的状态或设置未使用的状态或返回已使用实例变量的当前值。

我真的不明白该怎么做。

【问题讨论】:

    标签: java methods interface


    【解决方案1】:

    首先你需要

    public class Book implements Usable {
    

    然后因为你已经这样做了,你将需要实现这些方法,这些方法暗示需要一个名为 used 的布尔字段

    private boolean used;
    
    public boolean isUsed() {
          return used;
    }
    

    因此

    public void setAsUsed(used = true);
    public void setAsNotUsed(used = false);
    

    【讨论】:

      【解决方案2】:

      您必须通过定义在那里声明的方法(在您的情况下为 getter 和 setter)来创建一个实现 Usable 的类:

      public class Book implements Usable {
      
          // Initialization
          private boolean used = false;
      
          // Getter
          public boolean isUsed() {
              return this.used;
          }
      
          // Setters
          public void setAsUsed() {
              this.used = true;
          }
      
      
          public void setAsNotUsed() {
              this.used = false;
          }
      
      }
      

      【讨论】:

      • 好的,你怎么称呼他们?
      【解决方案3】:

      我假设这是你的书课:

      public class Book {
          private boolean used;
      
          // other things
      }
      

      要实现接口,首先你需要

      public class Book implements Usable {
          //...
      

      然后,一一实现这些方法。我们可以通过查看名称和签名来猜测每个人的行为。 isUsed 返回一个 boolean 所以它可能应该返回这本书是否被使用。让我们实现这个:

      public boolean isUsed() {
          return used;
      }
      

      setAsUsed,好吧,把这本书设置为使用状态:

      public void setAsUsed() {
          used = true;
      }
      

      setAsNotUsed 也照盖子上说的做:

      public void setAsNotUsed() {
          used = false;
      }
      

      【讨论】:

        猜你喜欢
        • 2017-08-21
        • 1970-01-01
        • 2019-01-08
        • 1970-01-01
        • 2020-04-06
        • 1970-01-01
        • 2018-10-26
        • 2014-03-12
        • 1970-01-01
        相关资源
        最近更新 更多