定义类People,含有一个属性savings,初值是20;一个方法void work(int m)实现增加m到savings里。定义它的子类ChinaPeople,重写方法void work(int m)实现增加2*m到savings里。
时间: 2024-03-22 19:41:34 浏览: 12
好的,以下是你需要的代码:
```java
public class People {
protected int savings = 20;
public void work(int m) {
savings += m;
}
}
public class ChinaPeople extends People {
@Override
public void work(int m) {
savings += 2 * m;
}
}
```
在上面的代码中,我们定义了一个 `People` 类,它有一个 `savings` 属性,初值为 20,以及一个 `work(int m)` 方法,用于增加 `m` 到 `savings` 中。然后我们定义了一个 `ChinaPeople` 类,它是 `People` 的子类,并且重写了 `work(int m)` 方法,实现了增加 `2 * m` 到 `savings` 中。注意,在 `ChinaPeople` 中,我们使用了 `savings` 属性,这是因为它是 `People` 类的 protected 属性,子类可以直接访问。
相关问题
定义类People,含有一个属性savings,初值是20;一个方法void work(int m)实现增加m到savings里。定义它的子类ChinaPeople,重写方法void work(int m)实现增加2*m到savings里
好的,以下是您所需的代码:
```java
public class People {
protected int savings = 20; // 初值为20
public void work(int m) {
savings += m; // 实现增加m到savings里
}
}
public class ChinaPeople extends People {
@Override
public void work(int m) {
savings += 2 * m; // 实现增加2*m到savings里
}
}
```
在这段代码中,我们首先定义了一个 `People` 类,其中包含一个 `savings` 属性和一个 `work` 方法。然后,我们定义了一个 `ChinaPeople` 类,它是 `People` 类的子类,并重写了 `work` 方法。在 `ChinaPeople` 类中,我们实现了增加2*m到savings里的功能,与 `People` 类中的增加m到savings里的功能不同。需要注意的是,为了让 `ChinaPeople` 类能够访问 `savings` 属性,我们使用了 `protected` 访问修饰符。
在jav中定义类People,含有一个属性savings,初值是20;一个方法void work(int m)实现增加m到savings里。定义它的子类ChinaPeople,重写方法void work(int m)实现增加2*m到savings里
好的,我理解了你的问题。下面是对你的问题的回答:
在Java中定义类People,含有一个属性savings,初始值为20,一个方法void work(int m)实现增加m到savings里。定义它的子类ChinaPeople,重写方法void work(int m)实现增加2*m到savings里。
以下是代码实现:
```java
public class People {
protected int savings = 20;
public void work(int m) {
savings += m;
}
}
public class ChinaPeople extends People {
@Override
public void work(int m) {
savings += 2 * m;
}
}
```
在上面的代码中,我们定义了一个People类,它有一个属性savings和一个方法work(int m),用于将参数m添加到savings中。然后,我们定义了一个ChinaPeople类,它是People类的子类,并覆盖了work(int m)方法。在ChinaPeople类中,我们将参数m乘以2,并将结果添加到savings中。这是因为ChinaPeople的工作效率更高,可以赚取更多的钱。