您好,登录后才能下订单哦!
今天就跟大家聊聊有关怎么在Java中定义形式和可变参数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
Java中的方法类似于面向过程程序设计中的函数,但与其不同的是,Java中的方法不能独立存在,它属于类或对象。既然方法属于类或对象,那么,方法的调用者就必须是类或对象。(当然,之后将会提到的同一个类中方法互相调用,实际上也是类或对象在作为调用者)
还是先上一段代码:
package com.my.pac05;
public class MethodTest {
  public static void main(String[] args) {
    //通过类直接调用static修饰的first()方法
    MethodTest.first();
    //MethodTest.second();错误
    //方法由static修饰,可以通过类直接调用static修饰的方法
    //创建实例对象,访问没有static修饰的普通方法
    MethodTest method = new MethodTest();
    method.second();
    //接收secondVal方法的返回值
    int secondValue = method.secondVal();
    System.out.println(secondValue);//10
    
    method.third(2);
    //接收thirdVal方法的返回值
    int thirdValue = method.thirdVal(20);
    System.out.println(thirdValue);//20
    
    method.fourth('a', 'b');
    method.fifth("hello","what's","your","name");
    System.out.println();
    method.sixth(new String[]{"hello","what's","your","name"});
  }
  //static修饰的静态方法
  public static void first(){
    System.out.println("static: no param...");
  }
  //无参数(无参无返)
  public void second() {
    System.out.println("no param..");
  }
  //无参有返
  public int secondVal(){
    return 10;
  }
  //一个参数(有参无返)
  public void third(int param1) {
    System.out.println("one param.. value is " + param1);
  }
  //有参有返
  public int thirdVal(int param1){
    return param1;
  }
  //两个参数
  public void fourth(char param1, char param2) {
    System.out.println("two params.. param1 is "
        + param1 + ",param2 is " + param2);
  }
  //多个参数1
  public void fifth(String...params){
    System.out.println("*type...param*");
    for(String param:params){
      System.out.print(param+" ");
    }
  }
  //错误:public void fifth2(String...params,int a )
  //多个参数2
  public void sixth(String[] params){
    System.out.println("*type[] param*");
    for(String param:params){
      System.out.print(param+" ");
    }
  }
}方法调用
使用static修饰的方法
//通过类直接调用static修饰的fourth()方法
  MethodTest.first();
//也可以通过创建的对象调用static修饰的方法
  method.first();
//static修饰的静态方法
  public static void first(){
    System.out.println("static: no param...");
}属于这个类本身。
类和对象都可以调用。
类和对象调用的结果相同。
没有static修饰的方法
//MethodTest.second();错误 //创建实例对象,访问没有static修饰的普通方法 MethodTest method = new MethodTest(); method.second();
//无static修饰的普通方法
  public void second() {
    System.out.println("no param..");
  }属于类的对象,不属于类本身。
只能由对象作为调用者。
使用不同对象调用同一个方法,结果可能不同。
方法的定义格式
无参无返
//无参无返
  public void second() {
    System.out.println("no param..");
  }无参有返
 //无参有返
  public int secondVal(){
    return 10;
  }有参无返
//有参无返
  public void third(int param1) {
    System.out.println("one param.. value is " + param1);
  }有参有返
 //有参有返
  public int thirdVal(int param1){
    return param1;
  }形参个数可变的方法
采用数组形参来定义
把数组作为形参加入形参列表中。类似于我们用的最多的public static void main(String[] args)相当于main方法接收一个String类型的数组,也就是命令行参数,关于命令行参数,就暂时不提啦。
//多个参数2
  public void sixth(String[] params){
    System.out.println("*type[] param*");
    for(String param:params){
      System.out.print(param+" ");
    }
  }只能接收数组。
可以出现在形参列表的任意位置。
采用JDK1.5新特性来定义
JDK1.5之后,可以在最后一个参数类型和参数名之间加上...
 //多个参数1
  public void fifth(String...params){
    System.out.println("*type...param*");
    for(String param:params){
      System.out.print(param+" ");
    }
  }
  //需要在最后一个参数类型和参数名之间!!!
  //错误:public void fifth2(String...params,int a )表明可以接收多个参数值,多个参数值被当作数组传入。
传入参数形式可以是多个参数以‘,'相隔,也可以传入数组。
只能处于参数列表之后,所以一个方法中最多只能有一个长度可变的形参。
看完上述内容,你们对怎么在Java中定义形式和可变参数有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。