实验13-抽象类和接口
试验13 接口 一、试验目的 1熟识接口的定义方法。 2了解Java语言实现多继承的途径。 二、试验内容 第一题 学校中有老师和学生两类人,而在职探讨生既是老师又是学生,对学生的被管理和对于 老师的责任管理在他们身上都有体现。 1设计两个信息管理接口StudentManageInterface和TeacherManageInterface。其中, StudentInterface接口包括setFee 方法和getFee 方法,分别用于设置和获得学生的学费 TeacherInterface接口包括setPay 方法和getPay 方法,分别用于设置和获得老师的工资。 2定义一个探讨生类Graduate,实现StudentInterface接口和TeacherInterface接口,它 定义的成员变量有name姓名、sex性别、age年龄、fee每学期学费、pay月工资。 3创建一个姓名为“zhangsan的探讨生,统计他的年收入和学费,假如收入减去学 费不足2000元,则输出“provide a loan”须要贷款信息。 要求 1在Graduate中实现各个接口定义的抽象方法。 2对年学费和年收入进行统计,用收入减去学费,假如小于2000元则显示“provide a loan”信息。 其次题 定义一个抽象类Bank,它包含有oneyearRate(定期利率)、oneyearNationaldebt(国债利率)和interestRate(活期利率)常数和count方法及show方法。Count方法用语对本息合计(存款本金+利息)进行计算,而show方法用于对本息合计进行显示。由于对不同的存款方式,利率是不同的,因此此程序分别定义多个子类实现对抽象类的继承,实现对利率的计算和显示。 留意 本程序定义了定期利率、活期利率、国债利率三种利率,根据一万元钱位存款单位进行统计,计算每种利率下存款一年后的本息合计。除了国债外,其他利率都要交纳个人所得税20%。 abstract class Bank { protected static final float oneyearRate0.0178f; //定期利率 protected static final float oneyearNationaldebt0.0198f; //国债利率 protected static final float interestRate0.0078f;//活期利率 abstract void count; abstract void show; } class InterestRateCalcute extends Bank { private float saving; private double sum; InterestRateCalcutefloat i { savingi;count; } public void count{ sumsavingsaving*Bank.interestRate*0.8; //税后总金额 } public void show { System.out.println With current interest rate, sum sum; } } class OneyearNationaldebtCalcute extends Bank { private float saving; private double sum; OneyearNationaldebtCalcutefloat i { savingi; count; } public void count { sumsavingsaving*Bank.oneyearNationaldebt; } public void show { System.out.println With national debt rate, sum sum; } } class OneyearRateCalcute extends Bank { private float saving; //原存款金额 private double sum; //1年后的总金额 OneyearRateCalcutefloat i { savingi; count; } public void count //实现count方法 { sumsavingsaving*Bank.oneyearRate*0.8; //税后总金额 } public void show //实现show方法 { System.out.println With fixed rate, sumsum; } } class Calculate { public static void mainString args[] { int mon10000; OneyearRateCalcute ratenew OneyearRateCalcutemon; rate.show; OneyearNationaldebtCalcute debtnew OneyearNationaldebtCalcutemon; debt.show; InterestRateCalcute interestnew InterestRateCalcutemon; interest.show; } }