[第3节课] java的方法重载

[第7章] JAVA的类和对象

[第3节课] java的方法重载\

方法的重载指的是方法名一样,但是参数类型不一样

1 drive方法的重载

为Car提供三种方法

public void drive()
public void drive(Car c1)
public void drive(Car c1, Car c2)

方法名是一样的,但是参数类型不一样
在调用方法drive的时候,会根据传递的参数类型以及数量,自动调用对应的方法

[第3节课] java的方法重载

public class Car{
	
	String name; //名字
    
    String brand; //品牌
     
    int price; //价格

	
    public void drive() {
        System.out.println(name + "行驶中");
    }
 
    public void drive(Car c1) {
        System.out.println(name + "从 " + c1.name + "身边驶过");
    }
 
    public void drive(Car c1, Car c2) {
        System.out.println(name + "同时从" + c1.name + "和" + c2.name + "身边驶过");
    }
 
    public static void main(String[] args) {
        Car c = new Car();
        c.name = "雷凌";
 
        Car c1 = new Car();
        c1.name = "朗逸";
        Car c2 = new Car();
        c2.name = "雅阁";
 
        c.drive(c1);
        c.drive(c1, c2);
    }
 
}

2 可变数量的参数

如果要驶过更多的车,就需要设计更多的方法,这样类会显得很累赘,像这样:

public void drive()
public void drive(Car c1)
public void drive(Car c1, Car c2)
public void drive(Car c1, Car c2, Car c3)

这时,可以采用可变数量的参数
只需要设计一个方法
public void drive(Car …cars)
即可代表上述所有的方法了
在方法里,使用操作数组的方式处理参数cars即可

public class Car{
	
	String name; //名字
    
    String brand; //品牌
     
    int price; //价格

	
    public void drive() {
        System.out.println(name + "行驶中");
    }
 
    // 可变数量的参数
    public void drive(Car... cars) {
        for (int i = 0; i < cars.length; i++) {
            System.out.println(name + "从" + cars[i].name + "身边驶过了");
 
        }
    }
 
    public static void main(String[] args) {
        Car c = new Car();
        c.name = "雷凌";
 
        Car c1 = new Car();
        c1.name = "朗逸";
        Car c2 = new Car();
        c2.name = "雅阁";
 
        c.drive(c1);
        c.drive(c1, c2);
    }
 
}

[第3节课] java的方法重载

原创文章,作者:编程大力哥,如若转载,请注明出处:http://www.liliz.me/1881.html