Kelas dalam di java berarti satu kelas yang merupakan anggota kelas lain. Di , ada berbagai jenis kelas dalam. Artikel ini akan membantu Anda mengungkap semua kelas ini. Petunjuk berikut akan dibahas secara rinci,
Jadi, mari kita mulai dengan artikel Kelas Dalam di Java ini,
Kelas Dalam Di Jawa
Kelas Dalam Bersarang
Kelas ini memiliki akses ke nilai contoh pribadi apa pun dari kelas luar. Menulis satu kelas dalam kelas lain juga diperbolehkan di Java. Kelas yang ditulis di dalamnya dikenal sebagai kelas bersarang dan kelas yang menampung kelas dalam disebut kelas luar.
Sintaksis
kelas luar {class innerplace {}}
Contoh
Dalam contoh yang diberikan di bawah ini, Kami membuat kelas dalam menjadi pribadi dan mengakses kelas dengan bantuan metode.
class Outer_place {int num private class Inner_place {public void print () {System.out.println ('Ini adalah kelas dalam')}} void display_Inner () {Inner_place inner = new Inner_place () inner.print ()}} kelas publik My_class {public static void main (String args []) {Outer_place outer = new Outer_place () outer.display_Inner ()}}
Keluaran
Di sini, tempat luar adalah kelas luar dan tempat dalam disebut kelas dalam.
Pindah dengan artikel Inner Class In Java ini,
Mengakses Anggota pribadi
Kelas dalam digunakan untuk mengakses anggota pribadi kelas juga. Misalkan ada kelas yang memiliki anggota pribadi untuk mengaksesnya. Sekarang tulis kelas dalam di dalam kelas dan akses anggota pribadi dari metode di dalam kelas dalam.
Apa saja komponen dari platform java?
Inilah contohnya,
class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('Ini adalah metode getnum kelas dalam:') 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 ())}}
Keluaran
Bergerak,
Metode Kelas Dalam Lokal
Di Java, Anda dapat menulis kelas di dalam metode dan itu akan dikenal sebagai tipe lokal. Seperti semua variabel lokal, ruang lingkup kelas dalam dibatasi dalam suatu metode.
Contoh
Contoh berikut akan menunjukkan bagaimana metode kelas dalam lokal diimplementasikan.
public class Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('metode untuk kelas dalam' + num)}} MethodInner_place inner = new MethodInner_place () inner.print ( )} public static void main (String args []) {Outerplace outer = new Outerplace () outer.my_Method ()}}
Keluaran
Pindah dengan artikel Inner Class In Java ini,
Kelas Batin Anonim
Setiap kelas dalam yang dideklarasikan tanpa nama kelas disebut kelas dalam anonim. Dalam kasus kelas dalam anonim, kami membuat instance dan mendeklarasikannya pada saat yang sama.
Kapanpun kami ingin mengganti metode kelas atau antarmuka, kami menggunakan kelas ini.
Sintaksis
AnonymousInner obj1 = new AnonymousInner () {metode void publik () {}}
Contoh
kelas abstrak AnonymousInner {public abstract void mymethod ()} kelas publik Outer_class {public static void main (String args []) {AnonymousInner inner = new AnonymousInner () {public void mymethod () {System.out.println ('contoh anonim kelas dalam ')}} inner.mymethod ()}}
Keluaran
Pindah dengan artikel Inner Class In Java ini,
adalah memiliki hubungan
Sebagai Argumen Kelas Dalam Anonim
Dalam hal ini, Jika suatu metode menerima objek antarmuka, kelas abstrak, atau kelas konkret, maka kita dapat mengimplementasikan antarmuka, meneruskan objek ke metode dan memperluas kelas abstrak.
Sintaksis
obj. metode (kelas baru () {public void do {}})
Contoh
// antarmuka antarmuka Pesan {String greet ()} public class My_class {// objek pesan antarmuka diterima dengan metode ini public void displayMessage (Message m) {System.out.println (m.greet () + ', contoh kelas dalam anonim sebagai argumen ')} public static void main (String args []) {// Instansiasi kelas My_class obj = new My_class () // Meneruskan kelas dalam anonim sebagai argumen obj.displayMessage (new Message () {public String greet () {return 'Hey'}})}}
Keluaran
Pindah dengan artikel Inner Class In Java ini,
Kelas Dalam Anonim dari Subkelas Tertentu
Kode sumber
kelas Demo {void show () {System.out.println ('saya sedang dalam metode acara kelas')}} kelas Flavor1Demo {Demo statis d = Demo baru () {void show () {super.show () System. out.println ('saya hadir di kelas Flavor1Demo')}} public static void main (String [] args) {d.show ()}}
Keluaran
Pindah dengan artikel Inner Class In Java ini,
Kelas Dalam Anonim sebagai Pelaksana Ditentukan Antarmuka
Kode sumber
class Flavor2Demo {// class yang mengimplementasikan 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 ()}} antarmuka Halo {void show ()}
Keluaran
Pindah dengan artikel Inner Class In Java ini,
Kelas Bersarang Statis
Kelas-kelas ini secara teknis tidak dikenal sebagai kelas dalam. Kelas-kelas ini mirip dengan anggota statis kelas luar. Kelas bertingkat statis tidak memiliki akses ke variabel dan metode kelas luar. Kita tidak perlu membuat instance kelas luar, itu dapat diakses langsung menggunakan anggota statis.
Sintaksis
Kelas luar {Kelas statis nested_example {}}
Contoh
kelas publik Luar {kelas statis Nested_Example {public void my_method () {System.out.println ('Ini adalah kelas bersarang')}} public static void main (String args []) {Outer.Nested_Example nested = new Outer.Nested_Example () nested.my_method ()}}
Keluaran
java deep copy vs shallow copy
Demikianlah kita sampai pada akhir artikel ini. Jika Anda ingin mempelajari lebih lanjut,lihat oleh Edureka, perusahaan pembelajaran online terpercaya. Kursus pelatihan dan sertifikasi Java J2EE dan SOA dari Edureka dirancang untuk melatih Anda untuk konsep inti dan lanjutan Java bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.
Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar artikel ini dan kami akan menghubungi Anda sesegera mungkin.