Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

คลาสที่ซ้อนกันประเภทต่าง ๆ ที่กำหนดไว้ใน Java มีอะไรบ้าง


ใน Java เป็นไปได้ที่จะกำหนด คลาสภายในคลาสอื่น , คลาสดังกล่าวเรียกว่า คลาสที่ซ้อนกัน . เราสามารถใช้ตัวแก้ไขการเข้าถึงเช่น ส่วนตัว สาธารณะ มีการป้องกันหรือค่าเริ่มต้น สำหรับ ชั้นใน และ ค่าเริ่มต้นหรือสาธารณะ ตัวแก้ไขการเข้าถึงสำหรับ ชั้นนอก .

คลาสที่ซ้อนกันมี 2 ประเภท ถูกกำหนดใน Java

  • สแตติกคลาสซ้อน
  • คลาสที่ซ้อนกันแบบไม่คงที่

สแตติกคลาสซ้อน

  • เราสามารถกำหนดคลาสภายในเป็นแบบสแตติก ดังนั้นประเภทของคลาสดังกล่าวจึงเรียกว่า คลาสที่ซ้อนกันแบบสแตติก
  • คลาสที่ซ้อนกัน ถูกกำหนดด้วย คำหลักคงที่ ดังนั้นคลาสที่ซ้อนกันประเภทนี้จึงไม่แบ่งปันความสัมพันธ์ใดๆ กับอินสแตนซ์ของ คลาสภายนอก .
  • A คลาสที่ซ้อนกันแบบคงที่ สามารถเข้าถึงสมาชิกคงที่ ของชั้นเรียนของเรา

ตัวอย่าง

class Car {
   static class Wheel {
      public void rotate() {
         System.out.println("The wheel is rotating");
      }
   }
}
public class Test {
   public static void main(String args[]) {
      Car.Wheel wheel = new Car.Wheel();
      wheel.rotate();
   }
}

ผลลัพธ์

The wheel is rotating


คลาสที่ซ้อนกันแบบไม่คงที่

  • A คลาสที่ซ้อนกันแบบไม่คงที่ เรียกว่า ชั้นใน ในชวา
  • ชั้นใน เกี่ยวข้องกับวัตถุของชั้นนอก . ดังนั้นคลาสชั้นในจึงถูกปฏิบัติเหมือนกับตัวแปรและวิธีการอื่นๆ ของคลาสชั้นนอก
  • ชั้นใน มีความเกี่ยวข้องกับอ็อบเจกต์คลาสภายนอกหรืออินสแตนซ์ ดังนั้น เราจึง ประกาศตัวแปรสแตติก . ไม่ได้ ภายในชั้นใน

ตัวอย่าง

public class OuterClassTest {
   private int a = 10;
   public void innerClassInstance() {
      InnerClassTest inner = new InnerClassTest();
      inner.outerObject();
   }
   public static void main(String args[]) {
      OuterClassTest outer = new OuterClassTest();
      outer.innerClassInstance();
   }
   class InnerClassTest {
      public void outerObject() {
         System.out.println("Outer Value of a is: " + a);
      }
   }
}

ผลลัพธ์

Outer Value of a is: 10