老师,这里为什么会错?

老师,这里为什么会错?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public class TestWork extends Work{
     //属性:编写的测试用例个数、发现的Bug数量
    private int testNum;
    private int bugNum;
    // 编写构造方法,并调用父类相关赋值方法,完成属性赋值
    public TestWork() {
         
    }
    public TestWork(String name,int testNum,int bugNum) {
        super(name);
        this.setTestNum(testNum);
        this.setBugNum(bugNum);    
    }
    // 公有的get***/set***方法完成属性封装
     
    public int getTestNum() {
        return testNum;
    }
 
    public void setTestNum(int testNum) {
        this.testNum = testNum;
    }
 
    public int getBugNum() {
        return bugNum;
    }
 
    public void setBugNum(int bugNum) {
        this.bugNum = bugNum;
    }
 
    // 重写运行方法,描述内容为:**的日报是:今天编写了**个测试用例,发现了**bug。其中**的数据由属性提供
    public String work() {
        String str1=this.getName()+"的日报是:"+"今天编写了"+this.getTestNum()+"个测试用例,"+"发现了"+this.getBugNum()+"bug";
        return str1;        
    }
}

1、用super(name )为什么错?怎么改?

2、work方法中怎么获取name?

正在回答

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

4回答

       同学你好,this.getName()是name属性的get方法,可以根据此方法获取name的属性值。

       带参构造方法中使用了this.name=name语句为属性name赋值,这里并没有使用this.getName()方法哦~同学这里的疑惑是什么呢?请详细描述下,方便老师为同学解答。

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

吃吃吃鱼的猫 2019-06-18 18:14:01

同学你好,Object类是所有类的父类。

super()是调用父类无参构造方法的意思。这里表示调用的是Object类中无参构造方法。

当调用无参构造方法时,super()是省略不写的,2-20的选择题中也省略了呢~同样,上面的代码中也可以省略呢~

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

吃吃吃鱼的猫 2019-06-18 16:00:03

同学你好,问一下同学所定义的Work类中是否存在name属性,带参构造方法,无参构造方法,以及对应的set,get方法呢?

如图所示:

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

如果存在的话,同学的代码是没有问题的哦~

super(name);和this.getName()也都是正确的呢~

this.setName(name);也是可以的哦。

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

  • 提问者 慕移动ttong #1
    1、为什么要在Work类的带参构造方法里加super()? 子类不是加过了吗? 2、我看2-20的选择题也没加啊!那什么时候加,什么时候不加呢? 分别代表什么意思呢?
    2019-06-18 16:30:58
  • 提问者 慕移动ttong #2
    this.getName(),老师这个是取值吧,但是带参构造方法是赋值的,这怎么可以的? 老师是不是写错了
    2019-06-18 19:40:01
提问者 慕移动ttong 2019-06-18 13:30:08

我用this.setName(name)赋值可以吗?如果不可以,为什么?

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

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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