老师,我这个成员属性怎么不能用呢?
来源:2-7 方法重写后的碎碎念
热爱编程学习
2022-02-27 21:09:46
package com.imooc.work;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("父类信息测试:");
Work w1=new Work("慕课公司");
System.out.println(w1.work());
System.out.print("测试工作类信息测试:");
TestWork w2=new TestWork(99,12);
System.out.println(w2.work());
System.out.print("研发工作类信息测试:");
DevelopmentWork w3=new DevelopmentWork(99,12);
System.out.println(w3.work());
}
}
package com.imooc.work;
public class DevelopmentWork extends Work{
// 属性:有效编码行数、目前没有解决的Bug个数
private int Number;
private int bugno;
public String name ;
//编写构造方法,并调用父类相关赋值方法,完成属性赋值
public DevelopmentWork() {
}
public DevelopmentWork(int Number,int bugno) {
this.setbugno(bugno);
this.setNumber(Number);;
}
// 公有的get***/set***方法完成属性封装
public void setNumber(int Number) {
this.Number=Number;
}
public int getNumber() {
return Number;
}
public void setbugno(int bugno) {
this.bugno=bugno;
}
public int getbugno() {
return bugno;
}
// 重写运行方法,描述内容为:**的日报是:今天编写了**行代码,目前仍然有**个bug没有解决。其中**的数据由属性提供
public String work() {
String str=this.name+"的日报是:今天编写了"+this.getNumber()+"行代码,目前仍然有"+this.getbugno()+"个bug没有解决。其中**的数据由属性提供";
return str;
}
}
package com.imooc.work;
public class TestWork extends Work{
//属性:编写的测试用例个数、发现的Bug数量
private int bugno;
private int Number;
public String name;
// 编写构造方法,并调用父类相关赋值方法,完成属性赋值
public TestWork() {
}
public TestWork(int bugno,int Number) {
this.setbugno(bugno);
this.setNumber(Number);
//this.setname(name);
}
// 公有的get***/set***方法完成属性封装
public void setbugno(int bugno) {
this.bugno=bugno;
}
public int getbugno() {
return bugno;
}
public void setNumber(int Number) {
this.Number=Number;
}
public int getNumber() {
return Number;
}
public void setname(String name) {
this.name=name;
}
public String getname() {
return name;
}
// 重写运行方法,描述内容为:**的日报是:今天编写了**个测试用例,发现了**bug。其中**的数据由属性提供
public String work() {
String str=this.getname()+"的日报是:今天编写了"+this.getNumber()+"个测试用例,发现了"+this.getbugno()+"bug。其中"+this.getbugno()+"的数据由属性提供;";
return str;
}
}
package com.imooc.work;
public class Work {
// 属性:工作ming
public String name ;
// 无参构造方法
public Work() {}
// 带参构造方法,完成工作类型的赋值
public Work(String name) {
this.setname(name);
}
// 公有的get***/set***方法完成属性封装
public void setname(String name) {
this.name=name;
}
public String getname() {
return name;
}
// 方法:工作描述,描述内容为:开心工作
public String work() {
String str="开心工作";
return str;
}
}2回答
同学你好,同学代码中,w2和w3两个对象的name属性没有进行赋值,所以会出现null的现象。
同学可以提供带有name属性的构造方法来给name属性赋值,或者使用对象调用set方法为name赋值。
祝学习愉快~
王小east
2022-02-27
1、对象w2和w3的name都没有赋值;
2、代码第33行多写了一个分号;
3、变量名和方法名的命名规则可以再复习下。
目前只能看到这么多。
相似问题
回答 1