重写父类抽象方法sayHello,输出打印String.format("大家好,我叫%s,今年%d岁,很高兴认识大家", this.name,this.age),构造方法使用父类构造方法,在Student中编写main方法,实例化Student类,并调用sayHello方法
时间: 2024-03-08 21:50:12 浏览: 36
好的,我来回答你的问题。
在Student类中重写父类抽象方法sayHello,代码如下:
```java
public class Student extends Person {
public Student(String name, int age) {
super(name, age);
}
@Override
public void sayHello() {
System.out.println(String.format("大家好,我叫%s,今年%d岁,很高兴认识大家", this.name, this.age));
}
public static void main(String[] args) {
Student student = new Student("张三", 18);
student.sayHello();
}
}
```
在构造方法中使用了父类的构造方法super(name, age),并在sayHello方法中重写了父类的抽象方法,输出了需要打印的字符串。
在Student类中编写了main方法,实例化了Student类,并调用了sayHello方法,输出了"大家好,我叫张三,今年18岁,很高兴认识大家"。
注意:在调用sayHello方法时,需要先实例化Student类,才能调用该方法。
相关问题
①定义一个抽象类Customer,该类有: a.成员变量:name,tel,均为String类型; b.一个带参构造方法; c.抽象方法:sayHello()。 ②定义Vip类,该类继承Customer类,该类有: a.成员变量:discount,为double类型 b.一个带参构造方法,使用super关键字调用父类带参构造方法; c.重写sayHello()方法,打印输出“欢迎顾客###,本次购物享受8.0折,将用您的###号码积分”。(###用成员变量name,tel替换) ③编写测试类TestVip类作为主类,完成以下功能: a. 创建子类对象(使用含参的构造方法); b. 使用上转型对象; c. 实现打印输出:“欢迎顾客海绵,本次购物享受8.0折,将用您的13012345678号码积分”。
①定义一个抽象类Customer,该类有: a.成员变量:name,tel,均为String类型; b.一个带参构造方法; c.抽象方法:sayHello()。
```java
public abstract class Customer {
private String name;
private String tel;
public Customer(String name, String tel) {
this.name = name;
this.tel = tel;
}
public abstract void sayHello();
}
```
②定义Vip类,该类继承Customer类,该类有: a.成员变量:discount,为double类型 b.一个带参构造方法,使用super关键字调用父类带参构造方法; c.重写sayHello()方法,打印输出“欢迎顾客###,本次购物享受8.0折,将用您的###号码积分”。(###用成员变量name,tel替换)
```java
public class Vip extends Customer {
private double discount;
public Vip(String name, String tel, double discount) {
super(name, tel);
this.discount = discount;
}
@Override
public void sayHello() {
System.out.println("欢迎顾客" + super.name + ",本次购物享受" + discount + "折,将用您的" + super.tel + "号码积分");
}
}
```
③编写测试类TestVip类作为主类,完成以下功能: a.创建子类对象(使用含参的构造方法); b.使用上转型对象; c.实现打印输出:“欢迎顾客海绵,本次购物享受8.0折,将用您的13012345678号码积分”。
```java
public class TestVip {
public static void main(String[] args) {
Vip vip = new Vip("海绵", "13012345678", 8.0);
Customer customer = vip;
customer.sayHello();
}
}
```
java.lang.NoSuchMethodException: Student.sayHello(java.lang.String)
这个错误通常会在 Java 中出现。它意味着代码中尝试调用一个不存在的方法。在这种情况下,你的代码中可能有一个 `Student` 类,但是它没有一个名为 `sayHello` 的方法,或者它有一个 `sayHello` 方法但是参数类型不正确。
确保你的代码中存在一个名为 `Student` 的类,并且它确实有一个名为 `sayHello` 的方法,其参数类型与你调用该方法时传递的参数类型相匹配。如果你确定代码中没有任何问题,那么可能是你的编译器或运行时环境出现了问题。在这种情况下,你可以尝试重新编译和运行你的代码,或者尝试使用其他编译器或运行时环境来解决问题。