วิธีการติดตั้ง Inner Class ใน Java



คลาสภายในใน java หมายถึงคลาสหนึ่งซึ่งเป็นสมาชิกของคลาสอื่น บทความนี้จะช่วยให้คุณคลี่คลายคลาสนี้

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

ดังนั้นให้เราเริ่มต้นด้วยบทความ Inner Class In Java นี้





ชั้นในใน Java

ชั้นในที่ซ้อนกัน

คลาสนี้มีสิทธิ์เข้าถึงค่าอินสแตนซ์ส่วนตัวของคลาสภายนอก อนุญาตให้เขียนหนึ่งคลาสภายในคลาสอื่นใน Java คลาสที่เขียนภายในเป็นคลาสที่ซ้อนกันและคลาสที่เก็บคลาสภายในเรียกว่าคลาสนอก



ไวยากรณ์

คลาสชั้นนอก {class innerplace {}}

ตัวอย่าง

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



คลาส Outer_place {int num คลาสส่วนตัว Inner_place {public void print () {System.out.println ('It is an inner class')}} void display_Inner () {Inner_place inner = new Inner_place () inner.print ()}} คลาสสาธารณะ My_class {public static void main (String args []) {Outer_place outer = new Outer_place () outer.display_Inner ()}}

เอาต์พุต

เอาต์พุต - คลาสภายในใน Java - Edureka

ที่นี่ชั้นนอกคือชั้นนอกและชั้นในเรียกว่าชั้นใน

การดำเนินการต่อด้วยบทความ Inner Class In Java นี้

การเข้าถึงสมาชิกส่วนตัว

ชั้นเรียนด้านในใช้เพื่อเข้าถึงสมาชิกส่วนตัวของชั้นเรียนด้วย สมมติว่ามีชั้นเรียนที่มีสมาชิกส่วนตัวสามารถเข้าถึงได้ ตอนนี้เขียนคลาสภายในภายในคลาสและเข้าถึงสมาชิกส่วนตัวจากวิธีการภายในคลาสภายใน

นี่คือตัวอย่าง

คลาส Outer_place {private int num = 162 คลาส Inner_place {public int getNum () {System.out.println ('It is a getnum method of inner class:') return num}}} public class My_class {public static void main (String args []) {Outer_place outer = new Outer_place () Outer_place.Inner_place inner = outer.new Inner_place () System.out.println (inner.getNum ())}}

เอาต์พุต

สแกนเนอร์ทำอะไรใน java

กำลังเดินทางไป,

วิธีการเรียนภายในท้องถิ่น

ใน Java คุณสามารถเขียนคลาสภายในเมธอดและจะเรียกว่าประเภทโลคัล เช่นเดียวกับตัวแปรโลคัลทั้งหมดขอบเขตของคลาสภายในจะถูก จำกัด ไว้ในเมธอด

ตัวอย่าง

ตัวอย่างต่อไปนี้จะแสดงวิธีการใช้งานเมธอดคลาสภายใน

คลาสสาธารณะ Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('method for inner คลาส' + num)}} MethodInner_place inner = new MethodInner_place () inner.print ( )} public static void main (String args []) {Outerplace outer = new Outerplace () outer.my_Method ()}}

เอาต์พุต

การดำเนินการต่อด้วยบทความ Inner Class In Java นี้

ชั้นในที่ไม่ระบุชื่อ

คลาสภายในใด ๆ ที่ประกาศโดยไม่มีชื่อคลาสเรียกว่าคลาสภายในที่ไม่ระบุชื่อ ในกรณีของคลาสภายในที่ไม่ระบุชื่อเราจะสร้างอินสแตนซ์และประกาศในเวลาเดียวกัน

เมื่อใดก็ตามที่เราต้องการลบล้างเมธอดของคลาสหรืออินเทอร์เฟซเราจะใช้คลาสนี้

ไวยากรณ์

AnonymousInner obj1 = AnonymousInner ใหม่ () {public void method () {}}

ตัวอย่าง

คลาสนามธรรม AnonymousInner {public abstract void mymethod ()} public class Outer_class {public static void main (String args []) {AnonymousInner inner = new AnonymousInner () {public void mymethod () {System.out.println ('ตัวอย่างของ anonymous ชั้นใน ')}} inner.mymethod ()}}

เอาต์พุต

การดำเนินการต่อด้วยบทความ Inner Class In Java นี้

เป็นอาร์กิวเมนต์ของชั้นในที่ไม่เปิดเผยตัวตน

ในกรณีนี้หากเมธอดยอมรับอ็อบเจ็กต์ของอินเทอร์เฟซคลาสนามธรรมหรือคลาสคอนกรีตเราจะสามารถใช้อินเทอร์เฟซส่งผ่านอ็อบเจ็กต์ไปยังเมธอดและขยายคลาสนามธรรม

ไวยากรณ์

obj. วิธีการ (คลาสใหม่ () {โมฆะสาธารณะทำ {}})

ตัวอย่าง

// อินเทอร์เฟซอินเทอร์เฟซข้อความ {String ทักทาย ()} คลาส My_class {// อ็อบเจ็กต์ของข้อความอินเทอร์เฟซได้รับการยอมรับโดยวิธีนี้โมฆะสาธารณะ displayMessage (ข้อความ m) {System.out.println (m.greet () + 'ตัวอย่าง คลาสภายในที่ไม่ระบุชื่อเป็นอาร์กิวเมนต์ ')} โมฆะแบบคงที่สาธารณะ main (String args []) {// การสร้างอินสแตนซ์ของคลาส My_class obj = new My_class () // ผ่านคลาสภายในที่ไม่ระบุชื่อเป็นอาร์กิวเมนต์ obj.displayMessage (ข้อความใหม่ () {public สตริงคำทักทาย () {return 'Hey'}})}}

เอาต์พุต

การดำเนินการต่อด้วยบทความ Inner Class In Java นี้

คลาสภายในที่ไม่ระบุชื่อของคลาสย่อยที่ระบุ

รหัสแหล่งที่มา

class Demo {void show () {System.out.println ('i was in show method of class')}} class Flavor1Demo {static Demo d = new Demo () {void show () {super.show () System. out.println ('i was present in Flavour1Demo class')}} public static void main (String [] args) {d.show ()}}

เอาต์พุต

การดำเนินการต่อด้วยบทความ Inner Class In Java นี้

คลาสภายในที่ไม่ระบุชื่อเป็นตัวดำเนินการตามที่ระบุ อินเตอร์เฟซ

รหัสแหล่งที่มา

คลาส Flavour2Demo {// คลาสที่ใช้ Hello interface static Hello h = new Hello () {public void show () {System.out.println ('i was present in anonymous class')}} public static void main (String [] args) {h.show ()}} อินเทอร์เฟซสวัสดี {void show ()}

เอาต์พุต

การดำเนินการต่อด้วยบทความ Inner Class In Java นี้

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

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

ไวยากรณ์

คลาสภายนอก {Static class nested_example {}}

ตัวอย่าง

คลาสสาธารณะชั้นนอก {static class Nested_Example {public void my_method () {System.out.println ('It is the nested class')}} public static void main (String args []) {Outer.Nested_Example nested = new Outer.Nested_Example () nested.my_method ()}}

เอาต์พุต

ดังนั้นเราจึงมาถึงจุดสิ้นสุดของบทความนี้ หากคุณต้องการเรียนรู้เพิ่มเติมตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ได้รับการออกแบบมาเพื่อฝึกอบรมคุณสำหรับแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับกรอบงาน Java ต่างๆเช่น Hibernate & Spring

กำหนดเส้นทางคลาสสำหรับ java

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความนี้และเราจะติดต่อกลับโดยเร็วที่สุด