image.png

举个例子:
image.png
父类card.java:

  1. package com.key.d12_packeg.abstractdemo;
  2. public abstract class card {
  3. private String name;
  4. private double money;
  5. public abstract void pay(double moneypay);
  6. public String getName() {
  7. return name;
  8. }
  9. public void setName(String name) {
  10. this.name = name;
  11. }
  12. public double getMoney() {
  13. return money;
  14. }
  15. public void setMoney(double money) {
  16. this.money = money;
  17. }
  18. }

子类golden.java:

  1. package com.key.d12_packeg.abstractdemo;
  2. public class golden extends card{
  3. @Override
  4. public void pay(double moneypay) {
  5. /*
  6. 金卡优惠
  7. */
  8. //优惠后消费金额
  9. double money_pay = moneypay * 0.8;
  10. //卡内剩余金额
  11. double result = getMoney() - money_pay;
  12. System.out.println("======金卡用户:" + getName() + "======");
  13. System.out.println("卡内总余额为:" + getMoney());
  14. System.out.println("本次消费为:" + money_pay);
  15. System.out.println("当前卡内余额为:" + result);
  16. System.out.println("==============");
  17. //对卡内余额进行更新
  18. setMoney(result);
  19. }
  20. }

运行Java

  1. package com.key.d12_packeg.abstractdemo;
  2. import java.util.Scanner;
  3. public class testdemo {
  4. public static void main(String[] args) {
  5. Scanner scanner = new Scanner(System.in);
  6. golden golden_card = new golden();
  7. System.out.println("请输入本次消费的金额:");
  8. double money = scanner.nextDouble();
  9. golden_card.setMoney(10000);
  10. golden_card.setName("金卡用户1");
  11. golden_card.pay(money);
  12. System.out.println("****************");
  13. System.out.println(golden_card.getMoney());
  14. }
  15. }

image.png

抽象类的特征:

image.png