Rumah  >  Artikel  >  Java  >  Kelas Dalaman di Jawa

Kelas Dalaman di Jawa

WBOY
WBOYasal
2024-08-30 15:56:59970semak imbas

Kelas dalam dalam program Java hanyalah kelas yang diisytiharkan dan digunakan dalam kelas yang sudah berfungsi untuk menggunakan semua fungsi dan akses ahli ke kelas luar. Ini biasanya digunakan apabila corak pengekodan program perlu lebih teratur sambil mengurangkan panjang kod. Terdapat tiga jenis kelas dalaman: kelas dalaman ahli, kelas dalaman tanpa nama dan kelas dalaman tempatan. Faktor utama yang dilihat sebagai kelebihan menggunakan kelas dalaman dalam coretan program Java ialah kelas dalaman membolehkan kod menjadi lebih dioptimumkan dan teratur, meningkatkan kebolehbacaan dan penyelenggaraan untuk kelas jenis ini agak rendah.

Jenis Kelas Dalaman di Jawa

Kelas dalaman dalam java pada asasnya ialah kelas yang tidak statik dan diisytiharkan di dalam kelas lain. Jadi kelas dalam adalah ahli kelas luar. Terdapat 3 jenis kelas dalaman dalam Java:

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

  • Ahli, kelas dalaman
  • Kelas dalaman tempatan
  • Kelas dalaman tanpa nama

Sila ambil perhatian bahawa Inner Class ialah jenis kelas bersarang yang tidak statik. Mari kita bincangkan pelbagai jenis kelas Dalam di java satu persatu.

1. Kelas Dalaman Ahli

Dalam kes ini, anda hanya perlu mengisytiharkan kelas di dalam kelas luarnya. Tetapi kelas tidak boleh berada di dalam kaedah kelas luar. Ia perlu ditakrifkan di luar kaedah kelas luar. Kelas dalaman mestilah jenis bukan statik. Objek jenis kelas dalam boleh mengakses pembolehubah kelas luar.

2. Kelas Dalaman Tempatan

Dalam kes ini, ia juga hanya perlu mengisytiharkan kelas di dalam kelas luarnya. Tetapi kelas mesti berada di dalam kaedah kelas luar. Ia perlu ditakrifkan di dalam kaedah kelas luar. Kelas dalaman mestilah jenis bukan statik. Objek jenis kelas dalam boleh mengakses pembolehubah kelas luar. Memandangkan kelas ini diisytiharkan di dalam kaedah kelas luar, aksesnya juga dihadkan, serupa dengan pembolehubah tempatan. Jika anda perlu menggunakan fungsi kelas Dalam, anda perlu membuat seketika itu di dalam fungsi.

Mata yang perlu diberi perhatian untuk kelas dalaman tempatan:

  • Penentukan pembolehubah Setempat tidak boleh peribadi, awam atau dilindungi.
  • Seseorang tidak boleh menggunakan kelas dalaman Setempat di luar fungsi.
  • Sehingga JDK versi 1.7, Pembolehubah tempatan bukan akhir tidak boleh diakses oleh kelas dalaman tempatan. Tetapi, pembolehubah tempatan bukan akhir dalam kelas dalaman tempatan boleh diakses sejak JDK versi 1.8.

3. Kelas Dalaman Tanpa Nama

Tanpa Nama, seperti namanya, ialah panggilan tanpa nama. Tetapi bagaimana ia mungkin? Sebenarnya, ia adalah jenis kelas dalaman di mana kita melakukan pengisytiharan dan instantiasi (bermakna, penciptaan objek) secara serentak. Setiap kali anda ingin mengatasi kaedah kelas, anda mungkin perlu menggunakan kelas dalaman tanpa nama. Oleh kerana kelas dalam tanpa nama tidak mempunyai nama, kami tidak boleh mencipta pembina kelas dalam tanpa nama. Juga, ambil perhatian bahawa anda hanya boleh mengakses kelas dalaman tanpa nama pada titik definisinya.

Kelas dalaman tanpa nama boleh dibuat dalam dua cara.

  • Sebagai subkelas jenis tertentu.
  • Sebagai pelaksana antara muka tertentu.

Contoh Kelas Dalaman di Jawa

Di bawah ini kita akan membincangkan beberapa contoh kod Java Inner Class:

Contoh #1: Ahli, Kelas Dalaman

Dalam contoh ini, kami akan menunjukkan contoh kelas dalaman Ahli. Dalam contoh mudah ini di mana kita mengisytiharkan kelas di dalam kelas luar. Di dalam "OuterClass", kami mempunyai ahli data peribadi yang dipanggil "num1" dan "InnerClass" kelas dalam. Kita boleh mengakses pembolehubah peribadi "num1" panggilan luar di dalam kelas dalam dengan objek jenis "InnerClass". Dengan cara ini, kami mengambil kesempatan menggunakan kelas dalaman yang membolehkan ahli peribadi panggilan luar boleh diakses melalui kaedah kelas Dalam.

Kod:

class OuterClass{
private int num1=36;
class InnerClass{
void shw(){
System.out.println("Member Inner Class");
}
}
}
public class DemoOfMemberInnerClass{
public static void main(String args[]){
OuterClass oc=new OuterClass();
OuterClass.InnerClass ic=oc.new InnerClass();
ic.shw();
}
}

Output:

Kelas Dalaman di Jawa

Contoh #2: Kelas Dalaman Tanpa Nama

Dalam contoh ini, kami akan menunjukkan contoh kelas dalaman Tempatan. Di sini objektif utama kami adalah untuk mengatasi kefungsian kaedah kelas luar. Seperti namanya, nama kelas secara eksplisit tidak diketahui dan oleh itu dipanggil kelas dalaman tanpa nama. Di sini, kedua-dua pengisytiharan dan instantiasi kelas dalam dilakukan pada satu ketika, dan oleh itu ia dipanggil sebagai Kelas Dalaman Tanpa Nama.

Kod:

abstract class Cat{
abstract void drink();
}
public class AnonymousInnerClassDemo{
public static void main(String args[]){
Cat ct=new Cat(){ //anonymous inner class
void drink(){
System.out.println("kitty loves milk");
}
};
ct.drink();
}
}

Output:

Kelas Dalaman di Jawa

Example #3: Method Local Inner Class

In this example, we will demonstrate an example of a method local inner class. In this simple example where we declare a class inside the method “display()” of the outer class “OuterClassDemo”. After that, we can access the method by an object of the outer class.

Code:

public class OuterClassDemo{
private int num1=36;//instance variable
void display(){
class LocalInnerClass{ // local inner class inside the method of outer class
void shw(){
System.out.println(num1);
}
}
LocalInnerClass li=new LocalInnerClass();
li.shw();
}
public static void main(String args[]){
OuterClassDemo obj=new OuterClassDemo();
obj.display();
}
}

Output:

Kelas Dalaman di Jawa

Advantages

Here are some of the advantages of the java inner class, which are explained below:

  • The advantage of an inner class is that it can access all of the members that means functions and variables of the outer class.
  • This feature in Java facilitates us to logically organize our codes based on functionality, increasing code readability, and maintenance. It also facilitates the optimization of your code.
  • An inner class can access all of the private members (which means both data and methods) of its outer class.

Conclusion

This concludes our learning of the topic “Inner Class in Java”. An inner class is a very interesting feature in java where you can use a member of the outer class by the object of its inner class. Write yourself the codes mentioned in the above examples in the java compiler and verify the output. Learning of codes will be incomplete if you will not write code by yourself.

Atas ialah kandungan terperinci Kelas Dalaman di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Menerima E-mel dalam JavaArtikel seterusnya:Menerima E-mel dalam Java