找回感觉的练习

一、题目 

贷款购买房屋时,支付首付款是一种功能操作,定义在Payment接口中。住宅产权房屋类和商业产权房屋类均具有支付首付款的功能。依据以上内容,创建一个接口和两个类:

(1)接口Payment,包含:

  • double downPay(double price,double area):一个计算房屋首付款的方法,参数price代表房屋每平方米的价格,area代表房屋的总平方数,即面积。

(2) Payment接口的非抽象使用类——Residence类(住宅产权房屋类),包含:

  • double downPay(double price,double area):重写计算房屋首付款的方法,并将结果返回(住宅产权房屋的首付比例为总房款的20%)。

(3) Payment接口的非抽象使用类——Commercial类(商业产权房屋类),包含:

  • double downPay(double price,double area):重写计算房屋首付款的方法,并将结果返回(商业产权房屋的首付比例为总房款的45%)。

      在主类Test中,创建住宅产权房屋对象,完成住宅产权房屋首付款的计算。再将定义商业产权房屋对象传递给Payment接口对象,之后利用接口回调完成商业产权房屋首付款的计算。输入测试数据,完成结果的输出。

 

二、源代码

1、payment.java

interface payment{    //定义一个接口
   
    double downPay(double price,double area); //方法声明

}

2、Residence.java

    class Residence implements payment{    //创建商业产权房屋类
       
        public double downPay(double price,double area) { //方法重写
            
            return (price*area*0.2);
        }
    }

3、Commercial.java

  class Commercial implements payment{  //创建住宅产权房屋类
  
      public double downPay(double price,double area) {  //方法重写
    
          return (price*area*0.45);    
  
    }

}

4、Test.java

import java.util.Scanner;
   
    public class Test {

         public static void main(String[] args) {
        // TODO Auto-generated method stub
            double price;
            
            double area;
            
            Scanner reader = new Scanner(System.in);//调用方法
            
            Payment payment=new Commercial();//将Commercial类的对象赋给payment类
            
            Residence res = new Residence();//创建住宅产权房屋对象
            
            System.out.println("请输入房屋的总面积");//输出"请输入房屋的总面积"
            
            area = reader.nextDouble();
            
            System.out.println("请输入房屋的每平米的价格");//输出"请输入房屋的每平米的价格"
            
            price = reader.nextDouble();
            
            System.out.println("住宅产权房屋的首付:"+res.downPay(area, price));
            
            System.out.println("商业产权房屋的首付:"+payment.downPay(area, price));//接口回调
                    
                    
            
    }

}

3、运行结果

 

posted @ 2019-11-06 22:29  随风而逝1996  阅读(106)  评论(0编辑  收藏  举报