我们可以在 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();
   }
}

更新于: 20-Feb-2020

6 千次以上浏览

开启您的职业

完成课程,获得认证

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