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

 更新时间:2015年10月23日 14:50:23   转载 作者:生活的沉淀  
这篇文章主要介绍了实例详解Java中如何对方法进行调用,是Java入门学习中的基础知识,需要的朋友可以参考下

方法调用
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 ,可以在其他方法中直接调用。示例代码如下:

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修饰,不是静态方法。调用时需要通过类的实例化进行调用。示例如下:

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;
  }
}

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

外部的类:

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;
  }
}

 

调用:

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;
      
    }
  }
  
}

相关文章

  • Spring Boot Admin实现服务健康预警功能

    Spring Boot Admin实现服务健康预警功能

    这篇文章主要介绍了Spring Boot Admin实现服务健康预警功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • java实现图片角度旋转并获得图片信息

    java实现图片角度旋转并获得图片信息

    这篇文章主要为大家详细介绍了java实现图片角度旋转并获得图片信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • Java JVM虚拟机运行机制

    Java JVM虚拟机运行机制

    JVM(Java虚拟机)一种用于计算设备的规范,可用不同的方式(软件或硬件)加以实现。接下来通过本文给大家简单介绍Java JVM虚拟机运行机制,感兴趣的朋友一起看看吧
    2017-03-03
  • SpringBoot2.0 整合 Dubbo框架实现RPC服务远程调用方法

    SpringBoot2.0 整合 Dubbo框架实现RPC服务远程调用方法

    这篇文章主要介绍了SpringBoot2.0 整合 Dubbo框架 实现RPC服务远程调用 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • sftp和ftp 根据配置远程服务器地址下载文件到当前服务

    sftp和ftp 根据配置远程服务器地址下载文件到当前服务

    这篇文章主要介绍了sftp和ftp 根据配置远程服务器地址下载文件到当前服务的相关资料本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • SpringCloud之动态刷新、重试、服务化的实现

    SpringCloud之动态刷新、重试、服务化的实现

    这篇文章主要介绍了SpringCloud 之动态刷新、重试、服务化的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Spring MVC拦截器_动力节点Java学院整理

    Spring MVC拦截器_动力节点Java学院整理

    Spring MVC的拦截器,是属于HandlerMapping级别的,可以有多个HandlerMapping ,每个HandlerMapping可以有自己的拦截器,具体内容详情大家通过本文学习吧
    2017-08-08
  • Spring Cloud @RefreshScope 原理及使用

    Spring Cloud @RefreshScope 原理及使用

    这篇文章主要介绍了Spring Cloud @RefreshScope 原理及使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Spring Mvc中传递参数方法之url/requestMapping详解

    Spring Mvc中传递参数方法之url/requestMapping详解

    在开发中,参数传递是必不可少的一个功能,下面这篇文章主要给大家介绍了关于Spring Mvc中传递参数方法之url/requestMapping的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • Java数据库连接_jdbc-odbc桥连接方式(详解)

    Java数据库连接_jdbc-odbc桥连接方式(详解)

    下面小编就为大家带来一篇Java数据库连接_jdbc-odbc桥连接方式(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08

最新评论