Nesting of methods is a hybrid function calling method in Java, which can call another method in the same class. There are two types of nested classes are available in a Java environment.# # 將方法巢狀視為Java中的混合函數呼叫方法,它可以呼叫同一類別中的另一個方法。在Java環境中有兩種類型的巢狀類別可用
另一方面,靜態巢狀類別是在類別內部建立的特定類別。但是這種類型的巢狀類別無法存取任何非靜態的方法和成員。它們只能被外部類別存取。
在今天的文章中,我們將學習Java虛擬機器環境中存在的各種嵌套方法。並且我們將使用下面提到的語法和演算法來編寫一些可能的程式碼。
在Java中顯示嵌套方法的演算法
class Main { method1(){ } method2(){ method1(); } method3(){ method2(); } }
class OuterClass { // ... class NestedClass { // ... } }
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( ); } }
展示不同巢狀方法的途徑
Example 1
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
Example 2
public 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
Example 3
import 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
範例4
//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
Example 5
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
以上是Java程式展示方法的嵌套的詳細內容。更多資訊請關注PHP中文網其他相關文章!