方法重载
定义:方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或参数个数。
我们构建一个Dog类来看一下二者的区别:
public class Dog {
String name;
int health;
int love;
String strain;
//默认的无参构造方法
public Dog() {
}
//有参构造重载
public Dog(String name, int health, int love, String strain) {
//this关键字指代本类对象
this.name = name;
this.health = health;
this.love = love;
this.strain = strain;
void print() {
System.out.println("我叫:" + name + ",品种是:" + strain + ",健康值是:" +
health + ",与主人的亲密度:" + love);
我们可以看出,在同一个类中,两个的方法名相同,都是Dog。
public Dog是对类的初始化,是一个默认的构造方法,如果没有后面的有参构造,那么这个就是默认存在的,可以不写。
**public Dog(String name, int health, int love, String strain)**是对Dog方法名的重新设置,即重载,在我们调用时,使用的就是这一行的代码。
方法重载的特点
1、在同一个类中;
2、方法名相同;
3、参数列表不同,但不包含参数名。因为参数名是我们随意设置的,对方法的重载不构成影响;
4、与访问修饰符和返回值类型无关。访问修饰符。
例如:这两个代码就不构成方法重载。因为void和int以及返回值都对重载不构成影响。
方法重载使用
当方法重载完成之后,我们在调用时可以直接在Dog后面的()中按要求填写前面方法中的数据,最后print就能得出结果。
public class TestDog {
public static void main(String[] args) {
Dog d = new Dog("阿毛",60,60,"柯基");
d.print();
}
}