5题答案,请老师点评,谢谢

来源:11-14 测评作业

慕码人5147775

2025-02-22

三个包:xiaomu、xiaomuuncle、lanwang
xiaomu包下三个类:Grandpa、Son、Xiaomu
xiaomuuncle包下两个类:Uncle、UncleSon
lanwang包下两个类:Brother、LaoWang
在三个包外有个测试类:SecretRecipeTest
运行结果为:
小慕儿子获取到–小慕家的祖传秘方:慕氏秘方
小慕获取到–小慕家的祖传秘方:慕氏秘方
小慕叔叔获取到–小慕家的祖传秘方:慕氏秘方
小慕叔叔儿子获取到–小慕家的祖传秘方:慕氏秘方
小慕兄弟获取到–小慕家的祖传秘方:慕氏秘方
老王–获取不到祖传秘方:慕氏秘方,因为老王没有继承权限
------------------------------------xiaomu包下代码------------------------------
Grandpa类代码:

package com.imooc.test.xiaomu;

public class Grandpa {
    private String secretRecipe = "慕氏秘方";
    protected void showSecretRecipe() {
        System.out.println("小慕家的祖传秘方:" + secretRecipe);
    }

}

Xiaomu类代码:

package com.imooc.test.xiaomu;

public class Xiaomu extends Grandpa{
    private String name;

    public Xiaomu(String name) {
        this.name = name;
    }

    public Xiaomu() {
    }

    public String getName() {
        return name;
    }

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

    public void name() {
        System.out.print(name + "获取到--");
        showSecretRecipe();
    }
}

Son类代码:

package com.imooc.test.xiaomu;

public class Xiaomu extends Grandpa{
    private String name;

    public Xiaomu(String name) {
        this.name = name;
    }

    public Xiaomu() {
    }

    public String getName() {
        return name;
    }

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

    public void name() {
        System.out.print(name + "获取到--");
        showSecretRecipe();
    }
}

------------------------------------xiaomuuncle包下代码------------------------------
Uncle类代码:

package com.imooc.test.xiaomuuncle;

import com.imooc.test.xiaomu.Grandpa;

public class Uncle extends Grandpa {
    private String name;

    public Uncle(String name) {
        this.name = name;
    }

    public Uncle() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public void name() {
        System.out.print(name + "获取到--");
        showSecretRecipe();
    }
}

UncleSon类代码:

package com.imooc.test.xiaomuuncle;

public class UncleSon extends Uncle{
    private String name;
    public UncleSon(String name) {
        this.name = name;
    }
    public UncleSon() {
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public void setName(String name) {
        this.name = name;
    }
    public void name() {
        System.out.print(name + "获取到--");
        showSecretRecipe();
    }
}

------------------------------------lanwang包下代码------------------------------
Brother类代码:

package com.imooc.test.laowang;

import com.imooc.test.xiaomu.Grandpa;

public class Brother extends Grandpa {
    private String name;

    public Brother(String name) {
        this.name = name;
    }

    public Brother() {
    }

    public String getName() {
        return name;
    }

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

    public void name() {
        System.out.print(name + "获取到--");
        showSecretRecipe();
    }
}

LaoWang类代码:

package com.imooc.test.laowang;

public class LaoWang {
    private String name;

    public LaoWang(String name) {
        this.name = name;
    }

    public LaoWang() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public void name() {
        System.out.print(name + "--获取不到祖传秘方:慕氏秘方,因为老王没有继承权限");
        // 必须要注销掉,否则会报错,因为protected权限,在不同包中,只有子类才能调用
        //showSecretRecipe();
    }
}

------------------------------------三个包外的测试类:SecretRecipeTest代码------------------------------

package com.imooc.test;

import com.imooc.test.laowang.Brother;
import com.imooc.test.laowang.LaoWang;
import com.imooc.test.xiaomu.Grandpa;
import com.imooc.test.xiaomu.Son;
import com.imooc.test.xiaomu.Xiaomu;
import com.imooc.test.xiaomuuncle.Uncle;
import com.imooc.test.xiaomuuncle.UncleSon;
/*
* 结果为:
小慕儿子获取到--小慕家的祖传秘方:慕氏秘方
小慕获取到--小慕家的祖传秘方:慕氏秘方
小慕叔叔获取到--小慕家的祖传秘方:慕氏秘方
小慕叔叔儿子获取到--小慕家的祖传秘方:慕氏秘方
小慕兄弟获取到--小慕家的祖传秘方:慕氏秘方
老王--获取不到祖传秘方:慕氏秘方,因为老王没有继承权限
* */
public class SecretRecipeTest {
    public static void main(String[] args) {
        Son son = new Son("小慕儿子");
        son.name();
        Xiaomu xiaomu = new Xiaomu("小慕");
        xiaomu.name();
        Uncle uncle = new Uncle("小慕叔叔");
        uncle.name();
        UncleSon uncleSon = new UncleSon("小慕叔叔儿子");
        uncleSon.name();
        Brother brother = new Brother("小慕兄弟");
        brother.name();
        LaoWang laoWang = new LaoWang("老王");
        laoWang.name();
    }
}
写回答

1回答

彭彭老师

2025-02-23

理解正确,Son 类代码没有上传,和 Xiaomu 类代码重复了,逻辑没问题

0
1
慕码人5147775
不好意思,老师,当时没有注意看。现在把Son类代码上传,Son类代码如下: package com.imooc.test.xiaomu; public class Son extends Xiaomu{ private String name; public Son(String name) { this.name = name; } public Son() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public void name(){ System.out.print(name + "获取到--"); showSecretRecipe(); } }
2025-02-23
共1条回复

Java零基础入门与实战

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

318 学习 · 233 问题

查看课程