• 实例详解Java中如何对方法进行调用


    原文源自http://www.jb51.net/article/73827.htm

    方法调用
    Java支持两种调用方法的方式,根据方法是否返回值来选择。
    当程序调用一个方法时,程序的控制权交给了被调用的方法。当被调用方法的返回语句执行或者到达方法体闭括号时候交还控制权给程序。
    当方法返回一个值的时候,方法调用通常被当做一个值。例如:

    int larger = max(30, 40);

    如果方法返回值是void,方法调用一定是一条语句。例如,方法println返回void。下面的调用是个语句:

    System.out.println("Welcome to Java!");

    示例
    下面的例子演示了如何定义一个方法,以及如何调用它:

    public class TestMax {
      /** 主方法 */
      public static void main(String[] args) {
       int i = 5;
       int j = 2;
       int k = max(i, j);
       System.out.println("The maximum between " + i +
              " and " + j + " is " + k);
      }
     
      /** 返回两个整数变量较大的值 */
      public static int max(int num1, int num2) {
       int result;
       if (num1 > num2)
         result = num1;
       else
         result = num2;
     
       return result;
      }
    }
    以上实例编译运行结果如下:
    
    The maximum between 5 and 2 is 5

    这个程序包含main方法和max方法。Main方法是被JVM调用的,除此之外,main方法和其它方法没什么区别。
    main方法的头部是不变的,如例子所示,带修饰符public和static,返回void类型值,方法名字是main,此外带个一个String[]类型参数。String[]表明参数是字符串数组。

    调用实例:

    一、调用本类中的方法

    方法一、被调用方法声明为static ,可以在其他方法中直接调用。示例代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    public class HelloWord {
     
      /**
       * @param args
       */
      public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str="HelloWord!";
        int a=0;
        int b=a+1;
        int result=0;
         
        for(int i=0;i<20;i++)
        {
          //Add方法调用
          result= Add(a,b);     
           
          System.out.println(str+" "+ result);
           
          a+=i;
           
        }
      }
      /**
       * 被调用方法,这里使用了static声明为静态方法
       * @param x
       * @param y
       * @return
       */
      private static int Add(int x,int y)
      {
         
        return x+y;
      }
    }

    方法二、被调用方法,没被static修饰,不是静态方法。调用时需要通过类的实例化进行调用。示例如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    public class HelloWord {
     
      /**
       * @param args
       */
      public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str="HelloWord!";
        int a=0;
        int b=a+1;
        int result=0;
         
        for(int i=0;i<20;i++)
        {
          //Add方法调用
          //类的实例化
          HelloWord helloword=new HelloWord();
           
          //通过实例化的类进行Add方法调用
          result=helloword.Add(a, b);           
           
          System.out.println(str+" "+ result);
           
          a+=i;
           
        }
      }
      /**
       * 被调用方法,没被static修饰,不是静态方法。调用时需要通过类的实例化进行调用
       * @param x
       * @param y
       * @return
       */
      private int Add(int x,int y)
      {
         
        return x+y;
      }
    }

    二、调用外部的类的方法,通过类的实例化进行调用。示例代码如下:

    外部的类:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    public class Test {
      /**
       * 被调用方法Add
       * @param x
       * @param y
       * @return
       */
      public int Add(int x,int y)
      {
         
        return x+y;
      }
       
      /**
       * 被调用方法Sub
       * @param x
       * @param y
       * @return
       */
      public static int Sub(int x,int y)
      {
         
        return x-y;
      }
    }

    调用:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    public class HelloWord {
     
      /**
       * @param args
       */
      public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str="HelloWord!";
        int a=5;
        int b=a+1;
        int result=0;
         
        for(int i=0;i<20;i++)
        {
          //Add方法调用
          //类的实例化
          Test test=new Test();
           
          //通过实例化的类进行Add方法调用
          result=test.Add(a, b);           
           
          System.out.println(str+" "+ result);
           
          result=test.Sub(b, 1);           
           
          System.out.println(str+" "+ result);
           
          a+=i;
           
        }
      }
       
    }

    方法调用
    Java支持两种调用方法的方式,根据方法是否返回值来选择。
    当程序调用一个方法时,程序的控制权交给了被调用的方法。当被调用方法的返回语句执行或者到达方法体闭括号时候交还控制权给程序。
    当方法返回一个值的时候,方法调用通常被当做一个值。例如:

    1
    int larger = max(30, 40);

    如果方法返回值是void,方法调用一定是一条语句。例如,方法println返回void。下面的调用是个语句:

    1
    System.out.println("Welcome to Java!");

    示例
    下面的例子演示了如何定义一个方法,以及如何调用它:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    public class TestMax {
      /** 主方法 */
      public static void main(String[] args) {
       int i = 5;
       int j = 2;
       int k = max(i, j);
       System.out.println("The maximum between " + i +
              " and " + j + " is " + k);
      }
     
      /** 返回两个整数变量较大的值 */
      public static int max(int num1, int num2) {
       int result;
       if (num1 > num2)
         result = num1;
       else
         result = num2;
     
       return result;
      }
    }

    以上实例编译运行结果如下:

    1
    The maximum between 5 and 2 is 5

    这个程序包含main方法和max方法。Main方法是被JVM调用的,除此之外,main方法和其它方法没什么区别。
    main方法的头部是不变的,如例子所示,带修饰符public和static,返回void类型值,方法名字是main,此外带个一个String[]类型参数。String[]表明参数是字符串数组。

    调用实例:

    一、调用本类中的方法

    方法一、被调用方法声明为static ,可以在其他方法中直接调用。示例代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    public class HelloWord {
     
      /**
       * @param args
       */
      public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str="HelloWord!";
        int a=0;
        int b=a+1;
        int result=0;
         
        for(int i=0;i<20;i++)
        {
          //Add方法调用
          result= Add(a,b);     
           
          System.out.println(str+" "+ result);
           
          a+=i;
           
        }
      }
      /**
       * 被调用方法,这里使用了static声明为静态方法
       * @param x
       * @param y
       * @return
       */
      private static int Add(int x,int y)
      {
         
        return x+y;
      }
    }

    方法二、被调用方法,没被static修饰,不是静态方法。调用时需要通过类的实例化进行调用。示例如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    public class HelloWord {
     
      /**
       * @param args
       */
      public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str="HelloWord!";
        int a=0;
        int b=a+1;
        int result=0;
         
        for(int i=0;i<20;i++)
        {
          //Add方法调用
          //类的实例化
          HelloWord helloword=new HelloWord();
           
          //通过实例化的类进行Add方法调用
          result=helloword.Add(a, b);           
           
          System.out.println(str+" "+ result);
           
          a+=i;
           
        }
      }
      /**
       * 被调用方法,没被static修饰,不是静态方法。调用时需要通过类的实例化进行调用
       * @param x
       * @param y
       * @return
       */
      private int Add(int x,int y)
      {
         
        return x+y;
      }
    }

    二、调用外部的类的方法,通过类的实例化进行调用。示例代码如下:

    外部的类:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    public class Test {
      /**
       * 被调用方法Add
       * @param x
       * @param y
       * @return
       */
      public int Add(int x,int y)
      {
         
        return x+y;
      }
       
      /**
       * 被调用方法Sub
       * @param x
       * @param y
       * @return
       */
      public static int Sub(int x,int y)
      {
         
        return x-y;
      }
    }

    调用:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    public class HelloWord {
     
      /**
       * @param args
       */
      public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str="HelloWord!";
        int a=5;
        int b=a+1;
        int result=0;
         
        for(int i=0;i<20;i++)
        {
          //Add方法调用
          //类的实例化
          Test test=new Test();
           
          //通过实例化的类进行Add方法调用
          result=test.Add(a, b);           
           
          System.out.println(str+" "+ result);
           
          result=test.Sub(b, 1);           
           
          System.out.println(str+" "+ result);
           
          a+=i;
           
        }
      }
       
    }
    因为追求卓越,成功在不经意间追上了你
  • 相关阅读:
    Webstorm(OnlineSearch2)自定义快捷搜索API文档手册
    cargo设置国内源
    win10安装rust和编译失败的解决办法
    pycharm打开项目找不到根目录的解决办法
    VM虚拟机/Linux上网
    idea启动springboot项目突然特别慢
    (亲测有效)MacPycharm打不开的解决方法
    vue使用webpack打包失败
    使用七牛云上传文件报错incorrect region, please use up-z1.qiniup.com
    Zookeeper3.5及以上启动时8080端口被占用
  • 原文地址:https://www.cnblogs.com/limingxian537423/p/6914823.html
Copyright © 2020-2023  润新知