classPeople{ Stringname; intage;//年龄 publicPeople(Stringname){ super();this.name=name; } } publicclassStudentextendsPeople{ intyear;//出生年份 publicStudent(Stringname,intyear){ super(name); this.year=year; } publicintgetAge(intnow){//简单计算年龄,现在年份减去出生 年份 returnnow-year; } publicstaticvoidmain(String[]args){ Students=newStudent((2分)); System.out.println(s.name+"现在"+(2分)+"岁。");//输 出小王的年龄 } }填空
时间: 2024-03-19 16:46:11 浏览: 35
这段代码中有两处需要填空:
1. 在main方法中创建了一个Student对象,需要给出参数,即学生的名字和出生年份。可以填写如下代码:
```
Student s = new Student("小王", 2000);
```
2. 在输出语句中需要输出小王的年龄,需要调用getAge方法并传入当前年份。可以填写如下代码:
```
System.out.println(s.name + "现在" + s.getAge(2022) + "岁。");
```
相关问题
Animal接口 分数 20 作者 sy 单位 西南石油大学 已知有如下Animal抽象类和IAbility接口,请编写Animal子类Dog类与Cat类,并分别实现IAbility接口,另外再编写一个模拟器类Simulator调用IAbility接口方法,具体要求如下。 已有的Animal抽象类定义: abstract class Animal{ private String name; //名字 private int age; //年龄 public Animal(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age
) { this.age = age; } public abstract void play(); //抽象方法,动物都会玩 } 已有的IAbility接口定义: interface IAbility{ void run(); //动物都会跑 void eat(); //动物都会吃 } 要求: 1. 编写Dog类和Cat类,分别继承Animal类,并实现IAbility接口。 2. 在Dog类和Cat类中,实现IAbility接口中的方法run()和eat(),其中run()方法输出“狗在奔跑”,eat()方法输出“狗在啃骨头”(Dog类中),或“猫在吃鱼”(Cat类中)。 3. 在Animal类中,声明一个抽象方法play(),表示动物都会玩。 4. 在Dog类和Cat类中,重写抽象方法play(),其中play()方法输出“狗在玩球”(Dog类中),或“猫在玩线团”(Cat类中)。 5. 编写Simulator类,调用IAbility接口中的方法run()和eat(),并调用Animal类中的方法play()。其中,Simulator类中定义了一个方法show,接收一个Animal类型的参数,调用该参数的run()、eat()和play()方法。 6. 在main方法中,创建Dog类对象和Cat类对象各一个,然后调用Simulator类中的show方法,分别传入这两个对象,观察输出结果。
以下是代码实现:
```java
abstract class Animal{
private String name; //名字
private int age; //年龄
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public abstract void play(); //抽象方法,动物都会玩
}
interface IAbility{
void run(); //动物都会跑
void eat(); //动物都会吃
}
class Dog extends Animal implements IAbility{
public Dog(String name, int age){
super(name, age);
}
@Override
public void run() {
System.out.println("狗在奔跑");
}
@Override
public void eat() {
System.out.println("狗在啃骨头");
}
@Override
public void play() {
System.out.println("狗在玩球");
}
}
class Cat extends Animal implements IAbility{
public Cat(String name, int age){
super(name, age);
}
@Override
public void run() {
System.out.println("猫在奔跑");
}
@Override
public void eat() {
System.out.println("猫在吃鱼");
}
@Override
public void play() {
System.out.println("猫在玩线团");
}
}
class Simulator{
public void show(Animal animal){
animal.run();
animal.eat();
animal.play();
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog("旺财", 3);
Cat cat = new Cat("咪咪", 2);
Simulator simulator = new Simulator();
simulator.show(dog);
simulator.show(cat);
}
}
```
输出结果为:
```
狗在奔跑
狗在啃骨头
狗在玩球
猫在奔跑
猫在吃鱼
猫在玩线团
```
package test; public class pp { private String name=""; private String addreass=""; public pp(String name2, String address) { // TODO Auto-generated constructor stub } public void pp (String name , String addreass) { this.name=name; this.addreass=addreass; } } public abstract class Employee extends pp{ private String ID=""; private double wage=0; private int age =0; public Employee(String name, String address, String ID, double wage, int age) { super(name, address); this.ID = ID; this.wage = wage; this.age = age; } public abstract void add (String position); } 帮我改错
在pp类中,您需要将构造函数的参数名称与类变量名称匹配。修改后的代码如下:
```
package test;
public class pp {
private String name = "";
private String address = "";
public pp(String name, String address) {
this.name = name;
this.address = address;
}
}
```
在Employee类中,您需要添加一个具体的构造函数来调用父类的构造函数。修改后的代码如下:
```
package test;
public abstract class Employee extends pp {
private String ID = "";
private double wage = 0;
private int age = 0;
public Employee(String name, String address, String ID, double wage, int age) {
super(name, address);
this.ID = ID;
this.wage = wage;
this.age = age;
}
public abstract void add(String position);
}
```
阅读全文