①定义一个抽象类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号码积分”。
时间: 2024-03-14 22:49:19 浏览: 61
java基础理解Java中的类和对象.docx
①定义一个抽象类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();
}
}
```
阅读全文