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 类代码重复了,逻辑没问题
012025-02-23
相似问题