Di Java, kelas dapat didefinisikan di dalam kelas lain dan kelas semacam itu dikenal sebagai kelas bersarang. Kelas-kelas ini membantu Anda mengelompokkan kelas secara logis yang hanya digunakan di satu tempat. Ini meningkatkan penggunaan enkapsulasi dan menciptakan kode yang lebih mudah dibaca dan dipelihara. Blog di 'Kelas Bersarang di Java' ini akan memberi Anda pengantar langsung ke kelas bertingkat di . Di bawah ini adalah topik yang dibahas dalam blog ini:
- Kelas Bersarang di Java
- Jenis kelas bertingkat
- Perbedaan Antara Kelas Bersarang Statis dan Non-statis
- Poin Penting untuk Diingat
Kelas Bersarang di Java
Itu kelas yang ditulis di dalam kelas disebut kelas bersarang sedangkan kelas yang menampung kelas dalam disebut kelas luar. Di bawah ini adalah beberapa hal yang perlu diingat untuk kelas bersarang di Java -
- Cakupan kelas bertingkat dibatasi oleh kelas yang melingkupinya.
- Kelas bertingkat memiliki akses ke anggota kelas tempatnya bertingkat. Namun, kelas yang melingkupi tidak dapat mengakses anggota kelas bersarang.
- Kelas bertingkat adalah anggota kelas yang melingkupinya.
- Kelas bersarang dapat dideklarasikan sebagai publik, privat, dilindungi, atau paket-privat.
Jenis kelas bertingkat
Kelas bersarang dalam / non-statis: Di Java, kelas non-statis adalah mekanisme keamanan. Kelas tidak dapat dikaitkan dengan akses edit privat, tetapi jika Anda memiliki kelas sebagai anggota kelas lain, maka kelas non-statis dapat dijadikan pribadi.
Jenis kelas batin & minus
- Kelas Dalam
- Metode-Kelas Dalam Lokal
- Kelas Dalam Anonim
Kelas Dalam
Untuk membuat kelas dalam, Anda hanya perlu menulis kelas di dalam kelas. Kelas dalam bisa menjadi pribadi yang tidak bisa diakses dari obyek di luar kelas. Di bawah ini adalah program untuk membuat kelas dalam. Dalam contoh ini, kelas dalam dibuat pribadi dan kelas diakses melalui metode.
java berubah menjadi int
class Outer_Test {int num // kelas dalam private class Inner_Test {public void print () {System.out.println ('This is an Our inner class')}} // Mengakses kelas dalam dari metode void display_Inner () { Inner_Test inner = baru Inner_Test () inner.print ()}} public class My_class {public static void main (String args []) {// Membuat instance kelas luar Outer_Test outer = new Outer_Test () // Mengakses metode display_Inner () . outer.display_Inner ()}}
Keluaran
Metode-Kelas Dalam Lokal
Di Java, kelas dapat ditulis dalam a dan itu adalah tipe lokal. Mirip dengan variabel lokal, ruang lingkup kelas dalam dibatasi di dalam metode. Kelas dalam metode-lokal digabungkan hanya dalam metode di mana kelas dalam didefinisikan. Program di bawah ini menunjukkan bagaimana menggunakan kelas dalam metode-lokal.
public class Outerclass {// metode instance dari kelas luar void my_Method () {int num = 1001 // metode-local kelas dalam kelas StarInner_Test {public void print () {System.out.println ('Ini adalah kelas dalam bintang' + num)}} // akhir kelas dalam // Mengakses kelas dalam StarInner_Test star = new StarInner_Test () star.print ()} public static void main (String args []) {Outerclass outer = new Outerclass () outer. my_Method ()}}
Keluaran
Kelas Dalam Anonim
Kelas dalam anonim adalah kelas dalam yang dideklarasikan tanpa nama kelas. Dalam kelas dalam anonim, kami mendeklarasikan dan membuat instance pada saat yang sama. Mereka umumnya digunakan saat Anda perlu mengganti metode kelas atau antarmuka. Program di bawah ini menunjukkan bagaimana menggunakan kelas dalam anonim -
kelas abstrak AnonymousInnerTest {public abstract void mytest ()} kelas publik Outer_class {public static void main (String args []) {AnonymousInnerTest inner = new AnonymousInnerTest () {public void mytest () {System.out.println ('Ini adalah contoh kelas tes dalam anonim ')}} inner.mytest ()}}
Keluaran-
Kelas bertingkat statis: UNTUK adalah kelas bersarang yang merupakan anggota statis dari kelas luar. Tidak seperti kelas dalam, kelas bertingkat statis tidak dapat mengakses variabel anggota kelas luar karena kelas bertingkat statis tidak memerlukan instance dari kelas luar. Oleh karena itu, tidak ada referensi ke kelas luar dengan OuterClass.this. Sintaks kelas bertingkat statis adalah -
kelas MyOuter {kelas statis Nested_Test {}}
Contoh Kelas Bertingkat Statis
kelas publik Luar {kelas statis Nested_Test {public void my_method () {System.out.println ('Ini adalah kelas uji bersarang Edureka')}} public static void main (String args []) {Outer.Nested_Test nested = new Outer. Nested_Test () nested.my_method ()}}
Keluaran
program java untuk memeriksa palindrome
Perbedaan Antara Kelas Bersarang Statis dan Non-statis
Kelas bertingkat statis tidak memiliki akses ke anggota lain dari kelas yang melingkupi secara langsung. Menjadi statis, ia harus mengakses anggota non-statis dari kelas penutupnya melalui sebuah objek yang berarti ia tidak dapat merujuk ke anggota non-statis dari kelas penutupnya secara langsung. Dan karena batasan ini, kelas bertingkat statis jarang digunakan.
Kelas bertingkat non-statis memiliki akses ke semua anggota kelas luarnya dan dapat merujuk ke kelas tersebut secara langsung dengan cara yang sama seperti yang dilakukan oleh anggota kelas luar non-statis lainnya.
Sebelum kita sampai pada akhir artikel ini, mari kita lihat beberapa poin penting.
Poin Penting untuk Diingat
- Kelas dalam diperlakukan sebagai anggota reguler kelas.
- Karena kelas dalam adalah anggota dari kelas luar, Anda dapat menerapkan pengubah akses yang berbeda seperti dilindungi, pribadi ke kelas dalam Anda.
- Karena kelas Nested adalah anggota dari kelas yang melingkupinya, Anda dapat menggunakan. (titik) notasi untuk mengakses kelas bertingkat dan anggotanya.
- Menggunakan kelas bersarang membuat kode Anda lebih mudah dibaca dan lebih baik enkapsulasi .
- Kelas dalam memiliki akses ke anggota lain dari kelas luar, bahkan jika mereka dideklarasikan sebagai pribadi.
Dengan ini, kita sampai pada akhir blog ini pada kelas Nested di Java. Jika Anda ingin mempelajari lebih lanjut tentang Java, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus pelatihan dan sertifikasi Java J2EE dan SOA Edureka dirancang untuk siswa dan profesional yang ingin menjadi Pengembang Java. Kursus ini dirancang untuk memberi Anda permulaan dalam pemrograman Java dan melatih Anda untuk konsep Java inti dan lanjutan bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.
Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar di blog 'Kelas Bersarang di Java' dan kami akan menghubungi Anda kembali secepatnya.