能否在 Java 接口中定义一个类?


可以。通常,如果接口的方法使用该类,但我们不会在任何其他位置使用它,则会在接口中声明一个类。

示例

interface Library {
   void issueBook(Book b);
   void retrieveBook(Book b);
   public class Book {
      int bookId;
      String bookName;
      int issueDate;
      int returnDate;
   }
}
public class Sample implements Library {
   public void issueBook(Book b) {
      System.out.println("Book Issued");
   }
   public void retrieveBook(Book b) {
      System.out.println("Book Retrieved");
   }
   public static void main(String args[]) {
      Sample obj = new Sample();
      obj.issueBook(new Library.Book());
      obj.retrieveBook(new Library.Book());
   }
}

输出

Hello welcome to tutorialspoint

如果我们需要提供接口的默认实现,则会像下面这样在接口中定义一个类。

示例

interface Library {
   void issueBook(Book b);
   void retrieveBook(Book b);
   public class Book implements Library {
      int bookId;
      String bookName;
      int issueDate;
      int returnDate;
      public void issueBook(Book b) {
         System.out.println("book issued");
      }
      public void retrieveBook(Book b) {
         System.out.println("book retrieved");
      }
   }
}
public class Sample {
   public void demo() {
      System.out.println("Hello welcome to tutorialspoint");
   }
   public static void main(String args[]) {
      Sample obj = new Sample();
      obj.demo();
   }
}

更新于: 2020-02-20

6 千次浏览

开启你的职业生涯

完成课程即可获得认证

立即开始
廣告
© . All rights reserved.