1、方法的重载
方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。方法的重载即:同名不同参
1.1、方法重载的补充说明
- 参数不同指的是参数的类型不同或是参数的个数不同
- 构造方法也可以重载
1.2、示例:方法重载同名不同参
public class Student { public void intro(String name) { System.out.println("我叫" + name); } public void intro(int age) { System.out.println("我今年" + age + "岁"); } public void intro(String name, int age) { System.out.println("我叫" + name + "今年" + age + "岁"); } }
1.3、示例:重载构造方法
public class Student { private String name; // 姓名 private int age; // 年龄 public Student(String name) { this.name = name; } public Student(int age) { this.age = age; } public Student(String name, int age) { this.name = name; this.age = age; } public void intro() { System.out.println("我叫" + name + "今年" + age + "岁"); } }
2、方法的重写
方法重写基于继承,子类继承父类,子类可以调用父类的方法,同时子类也可以重写父类中的方法,来实现和父类中不同的业务处理逻辑。重写要求子类中方法与父类中的方法名称仙童,参数相同,参数类型相同。当子类调用该方法时,基类中的方法则被覆盖。方法重写即:重写父类方法,同名也同参
2.1、示例:动物会叫,叫声各不相同
动物类
public class Animal { public void speek(){ System.out.println("动物都会叫"); } }
狗类,继承自动物类
class Dog extends Animal { /** * 重写父类的speek方法 */ @Override public void speek() { System.out.println("旺旺旺..."); } }
猫类,继承自动物类
class Cat extends Animal { /** * 重写父类的speek方法 */ @Override public void speek() { System.out.println("喵喵喵..."); } }