Nesting of method ialah kaedah panggilan fungsi hibrid dalam Java, yang boleh memanggil kaedah lain dalam kelas yang sama Terdapat dua jenis kelas bersarang tersedia dalam persekitaran Java.
Fikirkan kaedah bersarang sebagai pendekatan panggilan fungsi hibrid dalam Java yang memanggil kaedah lain dalam kelas yang sama. Terdapat dua jenis kelas bersarang yang tersedia dalam persekitaran JavaKelas bersarang bukan statik (juga dipanggil kelas dalaman)
Kelas Bersarang Statik
Kelas bersarang bukan statik (atau kelas dalam) ialah kelas yang ditakrifkan dalam kelas tertentu. Ia juga mengandungi beberapa kelas luaran dengan beberapa hak akses. Dalam kaedah ini, kita boleh membuat contoh kelas dalam dengan menggunakan kelas luar menggunakan pengendali "."
Sebaliknya, kelas bersarang statik ialah kelas khusus yang dibuat di dalam kelas. Tetapi jenis kelas bersarang ini tidak boleh mengakses sebarang kaedah dan ahli bukan statik. Mereka hanya boleh diakses oleh kelas luaran.
Dalam artikel hari ini, kita akan mempelajari tentang pelbagai kaedah bersarang yang wujud dalam persekitaran mesin maya Java. Dan kami akan menulis beberapa kod yang mungkin menggunakan sintaks dan algoritma yang disebutkan di bawah.
Dalam algoritma yang mungkin ini, kita akan mempelajari cara kaedah bersarang sebenarnya berfungsi dalam persekitaran Java. Dengan mengikuti langkah-langkah ini, kami akan membina beberapa kod Java berdasarkan pernyataan masalah.
Langkah pertama - mulakan.
Langkah 2 - Masukkan sampel data.
Langkah 3 - Mulakan pemberat input.
Langkah 4 - Mulakan bias nod tersembunyi.
Langkah 5 - Pilih fungsi untuk ditakrifkan.
Langkah 6 - Jika kaedah memenuhi logik, teruskan.
Langkah 7 - Jika tidak, kembali ke langkah tiga dan empat.
Langkah 8 - Jika kaedah memenuhi keperluan kod, pilih pemberat input dan bias terbaik untuk nod tersembunyi.
Langkah 9 - Tentukan bilangan awal nod tersembunyi dengan menggunakan kaedah empirikal.
Langkah 10 - Tentukan bilangan optimum nod tersembunyi.
Langkah 11 - Sampel Latihan.
Langkah 12 - Jika ketepatan mencapai tanda, tamatkan proses.
Langkah 13 - Dapatkan model bersarang.
Langkah 14 - Buat semua ramalan.
Langkah 15 - Jika tidak, tentukan bilangan awal nod tersembunyi sekali lagi berdasarkan kaedah empirikal.
Sintaks Proses:
class Main { method1(){ } method2(){ method1(); } method3(){ method2(); } }
Sintaks Kelas:
class OuterClass { // ... class NestedClass { // ... } }
Kaedah bersarang menggunakan sintaks Java:
class Nesting2001{ int m, n; Nesting2001 (int x, int y){ m=x; n=y; } int largest ( ){ if (m >=n) return(m); else return(n); } void display( ){ int large=largest ( ); System.out. println("largest value is here" large); } } class Nestmain2022{ public static void main ( String args[ ]){ Nesting2001 nest=new nesting2001 (10, 20); nest. Display( ); } }
Dalam kemungkinan sintaks ini, kami cuba menunjukkan cara menstruktur kod Java untuk menerangkan dan menunjukkan pelbagai kaedah bersarang.
Cari luas bola menggunakan kaedah bersarang Java
Cari jumlah dua nombor dengan memanggil kaedah main() dan swap() dalam Java
Pendekatan 3 − Program Java menunjukkan kaedah bersarang untuk mencari nilai perimeter
Kaedah 4 – Kelas Dalaman Java dan Kelas Bersarang
Program Java menunjukkan kaedah bersarang dengan menggunakan tiga kelas kaedah
Mari gunakan kaedah bersarang Java untuk mengira luas sfera. Di sini kita menggunakan dua kelas, termasuk Area() dan Volume(), untuk mengira luas dan isipadu sfera.
public class Nesting2022 { public void Area(double r){ System.out.println("##### Inside Area method will be applied #####"); double a = 7 * Math.PI * r * r; System.out.println("Surface area of the particular Sphere is : " + a); } public void Volume(double r){ System.out.println("%%%%% Inside Volume method will be applied here%%%%%"); double v = (4 / 3) * Math.PI * r * r * r; System.out.println("Volume of a Sphere is here : " + v); } public static void main(String args[]){ Nesting2022 RDDARB = new Nesting2022(); RDDARB.Area(12); RDDARB.Volume(12); } }
##### Inside Area method will be applied ##### Surface area of the particular Sphere is : 3166.7253948185116 %%%%% Inside Volume method will be applied here%%%%% Volume of a Sphere is here : 5428.672105403162
Dalam kod Java ini, kami cuba menunjukkan proses penambahan dua nombor dengan memanggil kaedah main() dan swap().
Terjemahan bahasa Cina bagipublic class Nesting1997 { public void swap(int x, int y){ System.out.println("**@@$$%%This is a swap method. Lets Check The Process%%$$@@**"); System.out.println("Before swapping the condition:x=" + x + " " + "y=" + y); int z = x; x = y; y = z; System.out.println("After Swapping the condition:a=" + x + " "+ "b=" + y); } public void Tutorialspoint16 (int a, int b){ System.out.println("#####This is Tutorialspoint16 encoded method#####"); System.out.println("Before performing the operation we will get:a=" + a + " " + "b=" + b); a = a + 10; b = b + 12; System.out.println("After operation, the system will return:a=" + a + " " + "b=" + b); swap(a, b); } public static void main(String args[]){ Nesting1997 Tutorialspoint07 = new Nesting1997(); int a = 20, b = 30; Tutorialspoint07.Tutorialspoint16(a, b); } }
#####This is Tutorialspoint16 encoded method##### Before performing the operation we will get:a=20 b=30 After operation, the system will return:a=30 b=42 **@@$$%%This is a swap method. Lets Check The Process%%$$@@** Before swapping the condition:x=30 y=42 After Swapping the condition:a=42 b=30
Dalam kod Java ini, kami cuba menunjukkan sarang kaedah untuk mencari nilai perimeter.
Terjemahan bahasa Cina bagiimport java.util.Scanner; public class NestingbyCuboid2023{ int perimeter(int l, int b){ int pr = 12 * (l + b); return pr; } int area(int l, int b){ int pr = perimeter(l, b); System.out.println("Perimeter:"+pr); int ar = 6 * l * b; return ar; } int volume(int l, int b, int h){ int ar = area(l, b); System.out.println("Area:"+ar); int vol ; vol = l * b * h; return vol; } public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print("Enter length of that particular cuboid:"); int l = s.nextInt(); System.out.print("Enter breadth of that particular cuboid:"); int b = s.nextInt(); System.out.print("Enter height of that particular cuboid:"); int h = s.nextInt(); Nesting_Methods obj = new Nesting_Methods(); int vol = obj.volume(l, b, h); System.out.println("Volume:"+vol); } }
Enter length of that particular cuboid:7 Enter breadth of that particular cuboid:16 Enter height of that particular cuboid:10 Perimeter:276 Area:672 Volume:1120
Dalam contoh ini, kita boleh menunjukkan cara mengisytiharkan beberapa kelas dalaman dan kelas bersarang dalam persekitaran Java.
//Java code to define an inner class we can use in JVM class CPUz { double price; class Processor{ double cores; String manufacturer; double getCache(){ return 16.10; } } protected class RAM{ double memory; String manufacturer; double getClockSpeed(){ return 07.10; } } } public class Main { public static void main(String[] args) { CPUz cpu = new CPUz(); CPUz.Processor processor = cpu.new Processor(); CPUz.RAM ram = cpu.new RAM(); System.out.println("Processor Cache We Will Get = " + processor.getCache()); System.out.println("Ram Clock speed We Can Examine = " + ram.getClockSpeed()); } }
Processor Cache We Will Get = 16.1 Ram Clock speed We Can Examine = 7.1
//Java Code To Access Members class Car2022 { String carName; String carType; public Car2022(String name, String type) { this.carName = name; this.carType = type; } private String getCarName() { return this.carName; } class Engine { String engineType; void setEngine() { if(Car2022.this.carType.equals("7XYXARB")){ if(Car2022.this.getCarName().equals("Crysler")) { this.engineType = "Smaller Engine Type"; } else { this.engineType = "Bigger Engine Type"; } }else{ this.engineType = "Bigger Engine Type"; } } String getEngineType(){ return this.engineType; } } } public class Main { public static void main(String[] args) { Car car1 = new Car("Mazda", "16XYZARB"); Car.Engine engine = car1.new Engine(); engine.setEngine(); System.out.println("Engine Type for 16XYZRDD= " + engine.getEngineType()); Car car2 = new Car("Crysler", "7XYZARB"); Car.Engine c2engine = car2.new Engine(); c2engine.setEngine(); System.out.println("Engine Type for 7XYZARB = " + c2engine.getEngineType()); } }
Engine Type for 16XYZRDD= Bigger Engine Type Engine Type for 7XYZARB = Bigger Engine Type
//Java Program To Demonstrate A Static Inner Class Using JVM class MBCSS { static class USB2022{ int usb2 = 2; int usb3 = 1; int getTotalPorts(){ return usb2 + usb3; } } } public class Main { public static void main(String[] args) { MBCSS.USB2022 usb = new MBCSS.USB2022(); System.out.println("Total Ports Present Here In The System = " + usb.getTotalPorts()); } }
Total Ports Present Here In The System = 3
Dalam contoh ini, kami telah menulis kaedah kod Java tertentu menggunakan kelas kaedah tiga kali ganda untuk menunjukkan proses bersarang. Di sini, kaedah tertentu boleh memanggil sebarang kaedah rawak. Kaedah lain juga boleh dipanggil di sini. Ini bermakna kaedah 1 boleh memanggil kaedah 2, dan nilai pulangan kaedah 2 boleh memanggil kaedah 3.
public class Nesting0{ public void a1(int a, int b){ a = a + 10; b = b + 20; System.out.println( "******#### Inside the a1 method ####******"); System.out.println("a = " + a + " " + "b = " + b); a2(a, b); } public void a2(int x, int y){ x = x + 100; y = y + 200; System.out.println( "******@@@ Inside the a2 method @@@******"); System.out.println("x = " + x + " " + "y = " + y); } public void a3(int w, int z){ w = w + 50; z = z - 50; System.out.println( "******%% Inside the a3 method %%******"); System.out.println("w = " + w + " " + "z = " + z); a1(w, z); } public static void main(String[] args){ Nesting0 ARBRDD = new Nesting0(); int a = 100, b = 200; ARBRDD.a3(a, b); } }
******%% Inside the a3 method %%****** w = 150 z = 150 ******#### Inside the a1 method ####****** a = 160 b = 170 ******@@@ Inside the a2 method @@@****** x = 260 y = 370
Di sini kami membincangkan kaedah bersarang dan menyediakan beberapa kemungkinan kod Java dengan mengikut sintaks dan algoritma. Semoga artikel ini membantu anda memahami cara pelbagai kaedah bersarang yang dinyatakan di sini beroperasi.
Atas ialah kandungan terperinci Kaedah paparan program Java bersarang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!