题目:贷款购买房屋时,支付首付款是一种功能操作,定义在Payment接口中。住宅产权房屋类和商业产权房屋类均具有支付首付款的功能。
1.Payment.java
//接口Payment,包含:一个计算房屋首付款的方法,参数price代表房屋每平方米的价格,area代表房屋的总平方数.
package cn; public interface Payment { double downPay(double price,double area); }
2.Residence.java
//重写计算房屋首付款的方法,并将结果返回(住宅产权房屋的首付比例为总房款的20%).
package cn; public class Residence implements Payment { @Override public double downPay(double price, double area) { return price*area*0.2; } }
3.Commercial.java
//重写计算房屋首付款的方法,并将结果返回(商业产权房屋的首付比例为总房款的45%)。
package cn; public class Commercial implements Payment { @Override public double downPay(double price, double area) { // TODO Auto-generated method stub return area*price*0.45; } }
4.Test.java
//创建住宅产权房屋对象,再将定义商业产权房屋对象传递给Payment接口对象,之后利用接口回调完成商业产权房屋首付款的计算。输入测试数据,完成结果的输出
package cn; public class Test { public static void main(String[] args) { Residence r=new Residence(); Payment payment=new Commercial(); System.out.println("价格为"+r.downPay(2000, 80));//接口回调 System.out.println("价格为"+payment.downPay(2000, 90)); } }