3、帮小慕看看,下面的代码是方法重载还是方法重写,老师这是我理解的,请老师看看理解的对不

来源:11-14 测评作业

unbreakable_全栈

2024-11-30

package com.imooc.polymorphism;

public class Person {
    private String name;
    private String gender;

    public Person(String name, String gender) {
        this.name = name;
        this.gender = gender;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", gender='" + gender + '\'' +
                '}';
    }
}

package com.imooc.polymorhism;

public class Parent {
    public void playGame() {
        System.out.println("玩游戏");
    }
}


package com.imooc.polymorhism;

public class Child extends Parent {

    /**
     * 方法重写 (Overriding):
     * 子类 Child 中的 playGame() 方法使用了 @Override 注解,并且签名(方法名和参数列表)与父类 Parent 中的 playGame() 方法完全相同。
     * 这是方法重写,因为子类提供了与父类相同签名的方法,但实现了不同的行为。
     */
    @Override
    public void playGame() {
        System.out.println("珍惜光阴,走出虚拟,拥抱真实的世界");
    }

    /**
     * 方法重载 (Overloading):
     * 子类 Child 中的 playGame(int age, String puzzleGame) 方法与父类 Parent 中的 playGame() 方法具有不同的参数列表。
     * 这是方法重载,因为同一个类中存在多个同名方法,但参数列表不同。
     * @param age
     * @param puzzleGame
     */
    public void playGame(int age, String puzzleGame) {
        System.out.println("不满18周岁,可以玩益智小游戏~");
    }

    /**
     * 总结
     * 方法重写: Child 类中的 playGame() 方法(无参数)重写了 Parent 类中的 playGame() 方法。
     * 方法重载: Child 类中的 playGame(int age, String puzzleGame) 方法与 playGame() 方法(无参数)是方法重载。
     */
}
写回答

1回答

彭彭老师

2024-12-01

同学理解正确

1、方法重写,发生在子类和父类之间,方法名、参数、返回值类型均相同

2、方法重载,发生在同一个类中,方法名相同,参数不同

3、产生继承关系时,子类可以重载父类的方法

0
0

Java零基础入门与实战

Java零基础入门与实战 多场景|多案例|全栈项目

277 学习 · 220 问题

查看课程