老师这个题是不是这个意思

来源: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();
	}

}

https://img.mukewang.com/climg/63033acf098d9e4710802400.jpg

这个2什么意思呀怎么操作

写回答

1回答

好帮手慕小小

2022-08-22

同学你好,“在构造方法中调用父类相关赋值方法,完成属性赋值“同学的实现方式也是可以的,也可以通过在子类构造方法中使用super调用父类构造方法实现,例如:

public One2(String name , int ge,int bug) {
     super(name);
     this.setGe(ge);
     this.setBug(bug);
}


代码整体完成的不错,但还有几个小问题,如下:

1)方法后无需增加分号的,建议删除;

https://img.mukewang.com/climg/630343af095edff504610114.jpg

2)父类中工作描述方法内容为:开心工作,建议将方法中的this.getName()删除。

https://img.mukewang.com/climg/6303447e09cadb2703990150.jpg

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

https://img.mukewang.com/climg/6303438b09622f9510260069.jpg

祝学习愉快~

0

0 学习 · 9886 问题

查看课程