方法的重载

阅读量: 1003 编辑

前面我们讲过了类中的方法声明和定义等;

方法还有其他的一些特性:比如方法的参数、方法的返回值、方法的重载等等;

一、方法的语法

[<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[]

三、返回值

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

2、有返回值的话:分基本类型和引用类型,有返回值,在方法中必须有 return 语句,返回对于类型的数据;

3、对于有返回值方法的调用,可以接收返回值,也可以不接收返回值;

四、方法重载

方法重载:方法名相同,参数类型或个数不同;

构造器是可以多个的(重载),同样的对于方法来说,也是可以重载的;

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

当我们调用方法的时候,根据传入的参数类型 或 个数的不同,会自动调用对应的方法;

五、编程实战

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

/**
 * 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("大众","高铁","步行","飞机","轮船");
    }
    
}


六、作业练习

常见面试题:

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

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

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

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

爱码岛编程公众号
试卷资料
爱码岛编程小程序
在线刷题
苏ICP备13052010号
©2023 南京匠成信息科技有限公司