首頁 > Java > java教程 > Java程式展示方法的嵌套

Java程式展示方法的嵌套

WBOY
發布: 2023-08-20 20:13:05
轉載
531 人瀏覽過

Java程式展示方法的嵌套

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中顯示嵌套方法的演算法

在這個可能的演算法中,我們將學習嵌套方法在Java環境中的實際運作原理。透過按照這些步驟,我們將根據問題陳述建立一些Java程式碼。

  • 第一步 - 開始。

  • 第二步 - 輸入資料樣本。

  • 第三步 - 初始化輸入權重。

  • 第四步 - 初始化隱藏節點的偏移。

  • 第五步 - 選擇一個函數來定義。

  • 步驟6 - 如果方法滿足邏輯,則繼續。

  • 步驟7 - 否則,返回第三步和第四步。

  • 步驟8 - 如果方法符合程式碼要求,則選擇隱藏節點的最佳輸入權重和偏移。

  • 第9步 - 透過應用經驗方法來確定初始隱藏節點的數量。

  • 第10步 - 確定最佳隱藏節點數量。

  • 第11步 - 訓練樣本。

  • 第12步 - 如果準確度達到標記,則終止該過程。

  • 第13步 - 取得嵌套模型。

  • 第14步 - 進行所有預測。

  • 步驟15 - 否則,再次根據經驗方法確定隱藏節點的初始數量。

顯示方法嵌套的語法

Process Syntax:

class Main {
   method1(){ 
   } 
   method2(){
      method1();
   }
   method3(){
      method2();
   }
}
登入後複製

Class Syntax:

class OuterClass {
   // ...
   class NestedClass {
      // ...
   }
}
登入後複製

巢狀方法使用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( );
   }
}
登入後複製

在這個可能的語法中,我們嘗試展示如何建立一個Java程式碼來解釋和展示各種嵌套方法。

展示不同巢狀方法的途徑

  • 使用Java的巢狀方法找出球的面積

  • 透過在Java中呼叫main()和swap()方法來找到兩個數字的總和

  • #Approach 3 − Java程式展示巢狀方法以找到週長值

  • 方法4 - Java內部類別與巢狀類別

  • 透過使用三個方法類別顯示嵌套方法的Java程式

#使用Java的巢狀方法來計算球體的面積

讓我們使用Java的巢狀方法來計算球體的面積。這裡我們使用了兩個類,包含Area()和Volume(),用來計算球體的面積和體積。

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
登入後複製

透過呼叫main()和swap()方法來對兩個數字進行相加:

在這段Java程式碼中,我們嘗試透過呼叫main()和swap()方法來展示兩個數字的相加過程。

Example 2

的中文翻譯為:

範例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
登入後複製

嵌套方法以找出週長值

在這段Java程式碼中,我們嘗試展示方法的嵌套來找出週長的值。

Example 3

的中文翻譯為:

範例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
登入後複製

Java內部類別與巢狀類別

在這個範例中,我們可以示範如何在Java環境中宣告一些內部類別和巢狀類別。

範例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
登入後複製

Example 4 A

的翻譯為:

範例 4 A

//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
登入後複製

Example 4B

//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
登入後複製

Java程式透過使用三層方法類別來展示巢狀方法

在這個範例中,我們寫了一個特定的Java程式碼方法,使用三重方法類別來展示巢狀過程。在這裡,一個特定的方法可以呼叫任意的隨機方法。這裡也可以呼叫另一個方法。這意味著,方法1可以呼叫方法2,方法2的回傳值可以呼叫方法3。

Example 5

的翻譯為:

範例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程式碼。希望這篇文章能幫助您理解這裡提到的各種嵌套方法的操作方式。

以上是Java程式展示方法的嵌套的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板