• 目录

方法的高级知识

阅读量: 446 编辑

方法(函数)的高级知识

方法也叫函数,指一个类或者对象的行为。前面我们讲过了类中的方法声明和定义等。但是呢,方法还有其他的一些特性。比如方法的参数、方法的返回值、方法的重载等等。

一、方法的语法

[<modifiers>] <return_type> <name>([<arg_list>]) {
    [<statements>]
    
    [return type]
}

二、案例

public String getPersonName(String pwd, String username){
    
    // statements
    
    return "";
}

三、方法的参数(arg_list)

  • 参数个数:无参数、有参数、可变参数

  • 可变参数必须是最后一个参数,用 type... ,可变参数是一个数组

    • funcName(type arg1, type arg2, type... arg3) //arg3就是一个可变参数

    • arg3 就是一个数组类型 type[]

四、返回值

  • 没有返回值:方法的返回值就写 void

  • 有返回值的话:分基本类型和引用类型。有返回值,方法中必须有 return 语句

五、方法重载

  • 比如一个类中有多个构造器,这就是构造器的重载

  • 同样的对于普通的方法来说,也是可以重载的,重载是为了实现多态。比如定义一个旅行的方法 travel(args) ,那么对于旅行的人来说,只要选择不同的旅行套餐就可以了,不需要知道具体的方法内部实现。这个不同的旅行套餐可以理解为不同的参数或类型

六、如何实现重载?

  • 重载的方法的名称必须相同 (√)

  • 通过参数个数来实现重载 (√)

  • 同参数类型来实现重载 (√)

  • 返回值类型实现重载? (×)

六、代码实战

代码的详细解读,可以参考视频教程

package com.qicong.zj.c11;

/**
 * User: 祁大聪
 */
public class Person {

    public void travel(){
        System.out.println("我想旅行");
    }

    public void travel(String car){
        System.out.println("我想旅行,用" + car);
    }

    public int travel(int car){
        System.out.println("我想旅行,用" + car);
        return car;
    }
    
    //方法重载
    public String travel(String car, String train){
        System.out.println("我想旅行,用" + car);
        return "ok";
    }

    //可变参数 args 
    public void travel(String car, String train, String... args){
        System.out.println("我想旅行,用" + car);
        System.out.println(args.length);
        for(String s : args){
            System.out.println("s = " + s);
        }
    }

    public static void main(String[] args) {
    
        Person p = new Person();
        p.travel("大众","高铁","步行","飞机","轮船");
    }
    
}


  • 目录