package com.lrq.oop;
/**
*
* @author 李瑞琦
*
* 方法的重载:
* 方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法 。
* 调用时,会根据不同的参数表选择对应的方法。
两同三不同
同一个类,同一个方法名,
不同:参数列表不同(类型,个数,顺序不同)
只有返回值不同不构成方法的重载(
只有形参的名称不同,不构成方法的重载
与普通方法一样,构造方法也可以重载
*
*/
public class TestOverload {
public static void main(String[] args) {
Chicken chicken = new Chicken();
chicken.catche();
Mouse mouse = new Mouse();
chicken.catche(mouse);
Fish fish = new Fish();
chicken.catche(fish);
}
}
class Chicken {
String name;
String color;
int age;
// 这三个方法都构成方法的重载
public void catche() {
System.out.println("鸡什么也不抓");
}
public void catche(Fish fish) {
System.out.println("鸡抓鱼");
}
public void catche(Mouse mouse) {
System.out.println("鸡抓老鼠");
}
// 这两个方法可以构成方法的重载
public void catche(String name) {
}
public void catche(int age) {
}
// 这两个方法也可以构成方法的重载
public void catche(String name, int age) {
}
public void catche(int age, String name) {
}
// 构造器的重载
public Chicken() {
}
public Chicken(String name) {
}
public Chicken(int age) {
}
public Chicken(String name, int age) {
}
public Chicken(int age, String name) {
}
// 因为返回值类型不同,所以不能构成方法的重载
// public void catche(){
//
// }
// public int catche(){
// return 10;
// }
// 因为只是参数名称不同,不能够构成方法的重载
// public void catche(String name){
//
// }
// public void catche(String number){
//
// }
}
class Fish {
}
class Mouse {
}
方法的重载
最新推荐文章于 2019-08-10 15:51:44 发布