JAVA程序设计实验六

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

1. (填空题)

package和import语句的使用

现有一个Java应用程序,由两个源文件组成,第一个源文件A.java中的代码如下:

public class A{

  public void method(){

    System.out.println("调用A类中的method方法!");

 }

}

第二个源文件Test.java中的代码如下:

package aa;

class Test{

  public static void main(String[] args){

    A a1=new A();

    a1.method();

}

}

(注意:该程序在JDK中编译及执行)

回答以下问题:

(1) 该程序编译是否有错_____________(回答是或者否)? 

(2)在A.java源文件中增加一个包语句package bb; 为使该Java应用程序能够正常编译和执行,需要在Test.java中增加一条语句代码为_____________。

(3) 接第二题,该程序修改正确后,能够正常编译和执行程序后,如果去掉 public class A中的public,是否会产生问题_____________(回答是或者否)?

(1) 是

(2) import bb.A

(3) 是

 

2. (填空题)

访问限制修饰符的使用

编写一个Java应用程序,具体要求如下:

创建一个Father类,Father类放在名字叫ft的包中,Father类中一个protected void speak()方法,该方法输出"我是父亲"的消息。

然后定义一个主类Test,主类Test也放在ft包中,在主类Test中用Father类创建一个对象father,通过对象father调用speak()方法。分别用两个源文件保存Father类和Test类。(注意:该程序在JDK中编译及执行)

回答以下问题:

(1)在主类Test中通过对象father调用speak()方法是否能够成功 _____________(回答是或者否)?

(2)Father类的定义中class Father{...}前是否需要加public访问限制修饰符 _____________(回答是或者否)?Father类的定义中class Father{...}前是否能加protected访问限制修饰符 _____________(回答是或者否)?

(3)把Test主类中的包语句删除,也就是把主类Test和Father类放在不同的包中,然后在主类Test中通过对象father调用speak()方法是否能够成功_____________(回答是或者否)?

(1) 是

(2) 否

(3) 否

(4) 否

 

3. (填空题)

按下列要求编写程序

用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC,CPU和HardDisk和Test,其中Test是主类。

(1)PC类与CPU和HardDisk类关联的UML图(图1)

其中,CPU类要求getSpeed()返回speed的值;要求setSpeed(int speed)方法将参数speed的值赋值给speed。HardDisk类要求getAmount()返回amount的值,要求setAmount(int amount)方法将参数amount的值赋值给amount。PC类要求setCPU(CPU c) 将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示cpu的速度和硬盘的容量。

捕获.PNG

(2)主类Test的要求

① main方法中创建一个CPU对象cpu,cpu将自己的speed设置为2200,

② main方法中创建一个HardDisk对象disk,disk将自己的amount设置为200,

③ main方法中创建一个PC对象pc,

④ pc调用setCPU(CPU cpu)方法,调用时实参是cpu,

⑤ pc调用setHardDisk (HardDisk HD)方法,调用时实参是disk,

⑥ pc调用show()方法。

请按照程序功能的要求,请把【代码1】至【代码11】的语句补充完整。(注意:该程序在eclipse中执行,在eclipse中需要创建四个源文件CPU.java、HardDisk.java、PC.java和Test.java)

CPU.java

-------------------------------------------------------------------------------------------------------------

public class CPU {

   int speed;  

   int getSpeed() {

     【代码1】

   }

   public void setSpeed(int speed) {

       【代码2】

   }

}

HardDisk.java

-------------------------------------------------------------------------------------------------------------

public class HardDisk {

   int amount;  

   int getAmount() {

       【代码3】

   }

   public void setAmount(int amount) {

        【代码4】

   }

PC.java

-------------------------------------------------------------------------------------------------------------

public class PC { 

    CPU cpu;

    HardDisk HD;

    void setCPU(CPU cpu) {

        【代码5】 

    } 

     void setHardDisk(HardDisk HD) {

        【代码6】 

    } 

    void show(){

       System.out.println("CPU速度:"+cpu.getSpeed());

       System.out.println("硬盘容量:"+HD.getAmount());

    }

Test.java

-------------------------------------------------------------------------------------------------------------

public class Test {

   public static void main(String args[]) {

       CPU cpu = new CPU();

       HardDisk disk=new HardDisk();

       【代码7】 //cpu将自己的speed设置为2200  

       【代码8】 //disk将自己的amount设置为200  

       PC pc =new PC();

        【代码9】 //pc调用setCPU(CPU cpu)方法,调用时实参是cpu  

        【代码10】   //pc调用setHardDisk (HardDisk HD)方法,调用时实参是disk

        【代码11】  //pc调用show()方法显示cpu的速度和硬盘的容量 

    }

(1) return speed;

(2) this.speed=speed;

(3) return amount;

(4) this.amount=amount;

(5) this.cpu=cpu;

(6) this.HD=HD;

(7) cpu.setSpeed(2200);

(8) disk.setAmount(200);

(9) pc.setCPU(cpu);

(10) pc.setHardDisk(disk);

(11) pc.show();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值