JAVA程序设计实验9

一. 填空题(共1题,100分)

1. (填空题)

内部类的用法

手机专卖店为了促销自己的产品,决定发行内部购物券,但其他商场不能发行该购物券,编写一个MobileShop类(模拟手机专卖店),该类中有一个名字为InnerPurchaseMoney的内部类(模拟内部购物券)。请把【代码1】至【代码4】的语句补充完整。(注意:该程序在eclipse中编译及执行)

程序模板如下:

class MobileShop {

   【代码1】//用内部类InnerPurchaseMoney声明对象purchaseMoney1

   【代码2】 //用内部类InnerPurchaseMoney声明对象purchaseMoney2

   private int mobileAmount;  //手机的数量

   MobileShop(){

    【代码3】 //创建价值为20000的purchaseMoney1

    【代码4】 //创建价值为10000的purchaseMoney2

   }

   void setMobileAmount(int m) {

     mobileAmount = m;

   }

   int getMobileAmount() {

      return mobileAmount;

   }

   class InnerPurchaseMoney {//后面题目第二问所在的行

        int moneyValue;

        InnerPurchaseMoney(int m) {

            moneyValue =  m;

        }

        void buyMobile() {

           if(moneyValue>=20000) {

              mobileAmount = mobileAmount-6; 

              System.out.println("用价值"+moneyValue+"的内部购物卷买了6部手机");

           }

           else if(moneyValue<20000&&moneyValue>=10000) {

              mobileAmount = mobileAmount-3; 

              System.out.println("用价值"+moneyValue+"的内部购物卷买了3部手机");

           }

        }

   } 

}

public class Test

{

   public static void main(String args[]) {

      MobileShop shop = new MobileShop();

      shop.setMobileAmount(30);

      System.out.println("手机专卖店目前有"+shop.getMobileAmount()+"部手机");

      shop.purchaseMoney1.buyMobile();

      shop.purchaseMoney2.buyMobile();

      System.out.println("手机专卖店目前有"+shop.getMobileAmount()+"部手机");

   }

}

程序执行结果如下:

回答以下问题:

(1)是否能够在类Test中创建类InnerPurchaseMoney的对象_____________(回答是或者否)? 

(2)如果在内部类的定义中(见源代码) class InnerPurchaseMoney前面加上static即 修改为:static class InnerPurchaseMoney,程序编译是否有错_____________(回答是或者否)? 

(3)在Test类中增加一条语句MobileShop.InnerPurchaseMoney.buyMobile();程序编译是否有错_____________(回答是或者否)?

(1) InnerPurchaseMoney purchaseMoney1;

(2) InnerPurchaseMoney purchaseMoney2;

(3) purchaseMoney1=new InnerPurchaseMoney(20000);

(4) purchaseMoney2=new InnerPurchaseMoney(10000);

(5) 否

(6) 是

(7) 是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值