请帮忙看下问题,谢谢!

请帮忙看下问题,谢谢!

public class Work {
    // 属性:工作ming
    private 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 workDescribe() {
		String str="开心工作";
		return str;
	}
}
============================================================
public class TestWork extends Work {
    //属性:编写的测试用例个数、发现的Bug数量
    private int excempleNum;
    private int bugNum;

    // 编写构造方法,并调用父类相关赋值方法,完成属性赋值
    public TestWork(String name,int excempleNum,int bugNum){
        this.Work(name);
        this.setExcempleNum(excempleNum);
        this.setBugNum(bugNum);
    }
    //无参构造
    public TestWork(){
        
    }
	
    // 公有的get***/set***方法完成属性封装
    public void setExcempleNum(int excempleNum){
        this.excempleNum=excempleNum;
    }
    public int getExcempleNum(){
        return excempleNum;
    }
    
    public void setBugNum(int bugNum){
        this.bugNum=bugNum;
    }
    public int getBugNum(){
        return bugNum;
    }

	// 重写运行方法,描述内容为:**的日报是:今天编写了**个测试用例,发现了**bug。其中**的数据由属性提供
	public String workDescribe() {
        String str=this.getName()+"的日报是:今天编写了"+this.getExcempleNum()+"个测试用例,发现了"+this.getBugNum()+"个bug";
        return str;
	}
}

================================================================
public class DevelopmentWork extends Work {
    // 属性:有效编码行数、目前没有解决的Bug个数
	private int rowNum;
	private int bugAlso;
	//编写构造方法,并调用父类相关赋值方法,完成属性赋值
	public DevelopmentWork(String name,int rowNum,int bugAlso){
	    this.Work(name);
	    this.setRowNum(rowNum);
	    this.setBugAlso(bugAlso);
	}
	
	//无参构造
	public DevelopmentWork(){
	    
	}
    // 公有的get***/set***方法完成属性封装
	public void setRowNum(int rowNum){
	    this.rowNum=rowNum;
	}
	public int getRowNum(){
	    return rowNum;
	}
	
	public void setBugAlso(int bugAlso){
	    this.bugAlso=bugAlso;
	}
	public int getBugAlso(){
	    return bugAlso;
	}
	// 重写运行方法,描述内容为:**的日报是:今天编写了**行代码,目前仍然有**个bug没有解决。其中**的数据由属性提供
	public String workDescribe() {
        String str=this.getName()+"的日报是:今天编写了"+this.getRowNum()+"行代码,目前仍然有"+this.getBugAlso()+"个bug没有解决";
        return str;
	}
}

======================================================================

public class Test {
    public static void main(String[] args) {
		System.out.print("父类信息测试:");
		Work w=new Work();
		System.out.println(w.workDescribe());
	
		System.out.print("测试工作类信息测试:");
		TestWork tw=new TestWork("测试工作",10,5);
		System.out.println(tw.workDescribe());
	
		System.out.print("研发工作类信息测试:");
		DevelopmentWork dw=new DevelopmentWork("研发工作",1000,10);
		System.out.println(dw.workDescribe());
	
	}
}

DevelopmentWork.java:7: error: cannot find symbol
   this.Work(name);
       ^
 symbol: method Work(String)
TestWork.java:8: error: cannot find symbol
       this.Work(name);
           ^
 symbol: method Work(String)
2 errors

请问,这是哪里出问题了?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,查看报错信息是有参构造中出现了错误,这里应该是对name进行set,并不是使用this直接调用对象。修改如下:

http://img1.sycdn.imooc.com//climg/5f068a9309ab9da306360161.jpg

http://img1.sycdn.imooc.com//climg/5f068aa10902328806040155.jpg

Ps:建议下次可将代码复制到eclipse中进行测试,这样有便于同学更快找出问题所在哦

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


  • 慕婉清2005302 提问者 #1
    谢谢,我知道问题出现在什么位置,但不清楚为什么会出错。谢谢
    2020-07-09 22:34:32
好帮手慕阿园 2020-07-09 11:00:06

同学你好,调用父类相关赋值方法,完成属性赋值的方法书写有误,可通过super()调用父类中的带参构造为属性赋值super(name);

修改后如下

http://img1.sycdn.imooc.com//climg/5f06882709a12dcb05360120.jpg

http://img1.sycdn.imooc.com//climg/5f06882f092f687b05480144.jpg

祝学习愉快

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师