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

所属分类: 软件编程 / java 阅读数: 46
收藏 0 赞 0 分享

方法调用
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;
      
    }
  }
  
}

更多精彩内容其他人还在看

SpringBoot中使用Ehcache的详细教程

EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。这篇文章主要介绍了SpringBoot中使用Ehcache的相关知识,需要的朋友可以参考下
收藏 0 赞 0 分享

在idea 中添加和删除模块Module操作

这篇文章主要介绍了在idea 中添加和删除模块Module操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java spring整合junit操作(有详细的分析过程)

这篇文章主要介绍了java spring整合junit操作(有详细的分析过程),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解JAVA 弱引用

这篇文章主要介绍了 JAVA 弱引用的相关资料,帮助大家更好的理解和学习java引用对象,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

深入了解JAVA 虚引用

这篇文章主要介绍了JAVA 虚引用的相关资料,帮助大家更好的理解和学习JAVA,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

详解JAVA 强引用

这篇文章主要介绍了JAVA 强引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

java中的按位与(&)用法说明

这篇文章主要介绍了java中的按位与(&)用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

深入了解JAVA 软引用

这篇文章主要介绍了JAVA 软引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

利用MyBatis实现条件查询的方法汇总

这篇文章主要给大家介绍了关于利用MyBatis实现条件查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用MyBatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.PathTranslator was bound

这篇文章主要介绍了Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.Pa
收藏 0 赞 0 分享
查看更多