Java基础第10讲-面向对象之方法的重写和重载
程序员文章站
2022-05-28 14:24:26
...
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("喵喵喵...");
}
}