Java程序演示方法嵌套


方法嵌套是Java中一种混合函数调用方法,它可以在同一个类中调用另一个方法。Java环境中提供了两种嵌套类。

  • 非静态嵌套类(也称为内部类)

  • 静态嵌套类

非静态嵌套类(或内部类)是在特定类中定义的类。它还包含一些具有访问权限的外部类。在这种方法中,我们可以使用“.”运算符通过外部类来创建内部类的实例。

另一方面,静态嵌套类是在类内部创建的特定类。但是,这种类型的嵌套类无法访问任何非静态方法和成员。它们可以通过外部类访问。

在本文中,我们将学习Java虚拟机环境中存在的各种嵌套方法。并使用它们编写一些可能的代码,其中包含下面提到的语法和算法。

Java中方法嵌套的算法

在这个可能的算法中,我们将学习方法嵌套在Java环境中是如何工作的。通过遵循这些步骤,我们将根据问题陈述构建一些Java代码。

  • 步骤 1 - 开始。

  • 步骤 2 - 输入数据样本。

  • 步骤 3 - 初始化输入权重。

  • 步骤 4 - 初始化隐藏节点的偏差。

  • 步骤 5 - 选择要定义的函数。

  • 步骤 6 - 如果方法满足逻辑,则继续执行。

  • 步骤 7 - 否则,返回步骤三和四。

  • 步骤 8 - 如果方法满足代码,则选择最优的输入权重和隐藏节点的偏差。

  • 步骤 9 - 通过应用经验方法确定隐藏节点的初始数量。

  • 步骤 10 - 确定隐藏节点的最优数量。

  • 步骤 11 - 训练样本。

  • 步骤 12 - 如果达到精度标记,则终止进程。

  • 步骤 13 - 获取嵌套模型。

  • 步骤 14 - 进行所有预测。

  • 步骤 15 - 否则,再次转到通过应用经验方法确定隐藏节点的初始数量。

方法嵌套的语法

过程语法

class Main {
   method1(){ 
   } 
   method2(){
      method1();
   }
   method3(){
      method2();
   }
}

类语法

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代码来解释和展示各种嵌套方法。

展示各种嵌套方法的方法

  • 方法 1 - 使用Java中的嵌套方法求球体面积

  • 方法 2 - 通过在Java中调用main()和swap()方法来求两个数字的和

  • 方法 3 - Java程序演示方法嵌套以求周长值

  • 方法 4 - Java内部类和嵌套类

  • 方法 5 - Java程序使用三层方法类演示嵌套方法

使用Java中的嵌套方法求球体面积

让我们使用Java中的嵌套方法求球体面积。这里我们使用了两个类,包含Area()和Volume(),它们分别计算球体的面积和体积。

示例 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()方法求两个数字的和的过程。

示例 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代码中,我们尝试演示方法嵌套以求周长值。

示例 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

示例 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

示例 4 B

//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。

示例 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代码,这些代码遵循语法和算法。希望本文能帮助您了解此处提到的各种嵌套方法的操作方式。

更新于: 2023年4月13日

5K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告