老师这个题是不是这个意思
来源:2-8 编程练习
不惧岁月
2022-08-22 16:15:47
package jicheng.one1; public class One1 { private String name; public One1() {}; public One1(String name) { this.setName(name); } public void setName(String name) { this.name=name; }; public String getName() { return name; }; public void sc() { System.out.println(this.getName()+":开心工作"); } public static void main(String[] args) { // TODO Auto-generated method stub } } package jicheng.one1; public class One2 extends One1{ private String name; private int ge; private int bug; public One2() {}; public One2(String name , int ge,int bug) { this.setName(name); this.setGe(ge); this.setBug(bug); }; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getGe() { return ge; } public void setGe(int ge) { this.ge = ge; } public int getBug() { return bug; } public void setBug(int bug) { this.bug = bug; } public void scc() { System.out.println(this.getName()+"的日报是:"+"今天编写了"+this.getGe()+"个测试用例"+"发现了"+this.getBug()+"个bug"); } public static void main(String[] args) { // TODO Auto-generated method stub } } package jicheng.one1; public class One3 extends One1{ private String name; private int ge; private int bug1; public One3() {}; public One3(String name, int ge,int bug) { this.setName(name); this.setGe(ge); this.setBug(bug); }; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getGe() { return ge; } public void setGe(int ge) { this.ge = ge; } public int getBug() { return bug1; } public void setBug(int bug) { this.bug1 = bug; } public void scc2() { System.out.println(this.getName()+"的日报是:"+"今天编写了"+this.getGe()+"行代码"+"目前仍有"+this.getBug()+"个bug没有解决"); } public static void main(String[] args) { // TODO Auto-generated method stub } } package jicheng.one2; import jicheng.one1.*; public class Ce2 { public static void main(String[] args) { // TODO Auto-generated method stub One1 scc1=new One1("父类信息测试"); scc1.sc(); One2 scc2=new One2("测试工作",10,5); scc2.scc(); One3 scc3=new One3("研发工作",1000,10); scc3.scc2(); } }
这个2什么意思呀怎么操作
1回答
好帮手慕小小
2022-08-22
同学你好,“在构造方法中调用父类相关赋值方法,完成属性赋值“同学的实现方式也是可以的,也可以通过在子类构造方法中使用super调用父类构造方法实现,例如:
public One2(String name , int ge,int bug) { super(name); this.setGe(ge); this.setBug(bug); }
代码整体完成的不错,但还有几个小问题,如下:
1)方法后无需增加分号的,建议删除;
2)父类中工作描述方法内容为:开心工作,建议将方法中的this.getName()删除。
public void sc() { System.out.println("开心工作"); }
3)子类需重写父类工作描述方法,无需再次自定义工作描述方法,建议将子类的scc、scc2方法名修改为sc
public void sc() { System.out.println(this.getName() + "的日报是:" + "今天编写了" + this.getGe() + "个测试用例" + "发现了" + this.getBug() + "个bug"); }
public void sc() { System.out.println(this.getName() + "的日报是:" + "今天编写了" + this.getGe() + "行代码" + "目前仍有" + this.getBug() + "个bug没有解决"); }
4)类中的name属性表示的是工作名称,建议将程序提示语句例如“父类信息测试:”单独使用输出语句进行打印输出,例如:
System.out.print("父类信息测试:"); One1 scc1 = new One1(); scc1.sc(); System.out.print("测试工作类信息测试:"); One2 scc2 = new One2("测试工作", 10, 5); scc2.sc(); System.out.print("研发工作类信息测试:"); One3 scc3 = new One3("研发工作", 1000, 10); scc3.sc();
5)建议采用见名知意的方式定义名称,例如:类名One1建议修改为Work
祝学习愉快~
相似问题