Wednesday, August 19, 2020

Static nested class trong java

 Trong hướng dẫn này, bạn sẽ tìm hiểu về Static nested class trong java với sự trợ giúp của các ví dụ. Bạn cũng sẽ tìm hiểu về cách lớp tĩnh khác với các lớp bên trong.

Như đã học trong các hướng dẫn trước, chúng ta có thể có một lớp bên trong một lớp khác trong Java. Các lớp như vậy được gọi là các lớp lồng nhau. Trong Java, các lớp lồng nhau có hai loại:

  • Lớp không tĩnh lồng nhau (Lớp bên trong)
  • Lớp tĩnh lồng nhau.

Chúng ta đã thảo luận về các lớp bên trong trong hướng dẫn trước. Truy cập Lớp lồng nhau của Java nếu bạn muốn tìm hiểu về các lớp bên trong.

Static nested class trong java


Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các lớp tĩnh lồng nhau.

Nested Static Class trong java

Chúng tôi sử dụng từ khóa static để làm cho lớp lồng nhau của chúng tôi tĩnh.

Lưu ý: Trong Java, chỉ các lớp lồng nhau mới được phép làm tĩnh.

Giống như các lớp thông thường, các lớp lồng nhau tĩnh có thể bao gồm cả các trường và phương thức tĩnh và không tĩnh. Ví dụ,

Class Animal {

   static class Mammal {

      // static and non-static members of Mammal

   }

   // members of Animal

Các lớp lồng nhau tĩnh được liên kết với lớp bên ngoài.

Để truy cập lớp lồng nhau tĩnh, chúng ta không cần các đối tượng của lớp bên ngoài.

Ví dụ: Nested Static Class

class Animal {

// inner class

   class Reptile {

      public void displayInfo() {

        System.out.println("I am a reptile.");

      }

   }

// static class

   static class Mammal {

      public void displayInfo() {

        System.out.println("I am a mammal.");

      }

   }

}

class Main {

   public static void main(String[] args) {

      // object creation of the outer class

      Animal animal = new Animal();

      // object creation of the non-static class

      Animal.Reptile reptile = animal.new Reptile();

      reptile.displayInfo();

      // object creation of the static nested class

      Animal.Mammal mammal = new Animal.Mammal();

      mammal.displayInfo();

   }

}

 Kết quả:

I am a reptile.

I am a mammal. 

No comments:

Post a Comment