編寫代碼模擬手機與SIM卡的組合關係。
要求:
SIM卡類負責創建SIM卡;
Phone類負責創建手機;
手機可以組合一個SIM卡;
手機可以更換其中的SIM卡。
代碼:
SIM類:
public class Sim {
long num;
Sim(long num)
{
this.num=num;
}
long getNum()
{
return num;
}
}
PHONE類:
public class Phone {
Sim sim;
void setSim(Sim sim)
{
this.sim=sim;
}
long seeNum()
{
return sim.getNum();
}
}
測試:
public class testPhone {
public static void main(String[] args) {
Phone phone=new Phone();
Sim sim=new Sim(15126354);
phone.setSim(sim);
System.out.println("原手機號爲"+phone.seeNum());
Sim sim1=new Sim(1216374);
phone.setSim(sim1);
System.out.println("更改後手機號爲:"+phone.seeNum());
}
}
代碼結果:
課堂練習5:
代碼
cpu類:
public class Cpu {
int speed;
void setSpeed(int speed){
this.speed=speed;
}
int getSpeed()
{
return speed;
}
}
HardDisk類:
public class HardDisk {
int amount;
void setAmount(int amount){
this.amount=amount;
}
int getAmount()
{
return amount;
}
}
pc類:
public class Pc {
Cpu cpu;
HardDisk hd;
void setCpu(Cpu cpu){
this.cpu=cpu;
}
void setHardDisk(HardDisk hd){
this.hd=hd;
}
void show(){
System.out.println("CPU速度爲:"+cpu.getSpeed());
System.out.println("硬盤容量爲:"+hd.getAmount());
}
}
測試:
public class TestPc {
public static void main(String[] args) {
Cpu cpu=new Cpu();
cpu.setSpeed(2200);
HardDisk disk=new HardDisk();
disk.setAmount(200);
Pc pc=new Pc();
pc.setCpu(cpu);
pc.setHardDisk(disk);
pc.show();
}
}
測試結果:
課堂練習6:
– 定義一個圓類(Circle),其所在的包爲bzu.info.software;定義一個圓柱類Cylinder,其所在的包爲bzu.info.com;定義一個主類A,其所在的包也爲bzu.info.com,在A中生成一個Cylinder對象,並輸出其體積。編譯並運行該類。
– 試着改變求體積方法的訪問權限,查看並分析編譯和運行結果
– 把Cylinder類和A類置於不同的包中,通過對求體積方法設置不同的訪問權限,查看並分析編譯和運行結果
bzu.info.software包中Circle類:
package bzu.info.software;
public class Circle {
double radius,area;
public Circle(double r){
radius =r;
}
public void setRadius(double r){
radius=r;
}
public double getRadius(){
return radius;
}
public double getArea(){
area=3.14*radius*radius;
return area;
}
}
bzu.info.com包中Cylinder類:
package bzu.info.com;
import bzu.info.software.Circle;
public class Cylinder {
Circle bottom;
double height;
double volume;
Cylinder(Circle b,double h){
bottom=b;
height=h;
}
double getVolume(){
volume=bottom.getArea()*height;
return volume;
}
double getBottomRadius(){
return bottom.getRadius();
}
}
package bzu.info.com;
import bzu.info.software.Circle;
public class A {
public static void main(String[] args) {
Circle circle=new Circle(1);
Cylinder cylinder=new Cylinder(circle,5);
System.out.println("圓柱半徑:"+cylinder.getBottomRadius()+"圓柱高:"+cylinder.height+"圓柱體積:"+cylinder.getVolume());
}
}
代碼測試結果:
反思: