package com.study.demo13; abstract class Member { protected int points; public Member(int points) { this.points = points; } abstract int calculateFinalPoints(); String getLevel() { int finalPoints = calculateFinalPoints(); if (finalPoints >= 1000) { return "VIP"; } else if (finalPoints >= 500) { return "GOLD"; } else { return "NORMAL"; } } } class NormalMember extends Member { public NormalMember(int points) { super(points); } @Override int calculateFinalPoints() { return points; } } class VIPMember extends Member { public VIPMember(int points) { super(points); } @Override int calculateFinalPoints() { return points * 2; } } public class MemberService { public static void main(String[] args) { Member normal1 = new NormalMember(300); Member normal2 = new NormalMember(600); Member normal3 = new NormalMember(1200); Member vip1 = new VIPMember(300); Member vip2 = new VIPMember(400); Member vip3 = new VIPMember(600); System.out.println("NormalMember - 最终积分: " + normal1.calculateFinalPoints() + ", 等级: " + normal1.getLevel()); System.out.println("NormalMember - 最终积分: " + normal2.calculateFinalPoints() + ", 等级: " + normal2.getLevel()); System.out.println("NormalMember - 最终积分: " + normal3.calculateFinalPoints() + ", 等级: " + normal3.getLevel()); System.out.println("VIPMember - 最终积分: " + vip1.calculateFinalPoints() + ", 等级: " + vip1.getLevel()); System.out.println("VIPMember - 最终积分: " + vip2.calculateFinalPoints() + ", 等级: " + vip2.getLevel()); System.out.println("VIPMember - 最终积分: " + vip3.calculateFinalPoints() + ", 等级: " + vip3.getLevel()); } }