9.27第五週java作業

編寫代碼模擬手機與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();   
    }
}

 bzu.info.com包中A類:

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()); 
    }  
}  


代碼測試結果:


反思:

1this關鍵字只能在方法內部使用
2this   代表“當前對象”的引用
3如果在方法內部調用同一個類的另一個方法,可不必使用this,直接調用
4this不能出現在類方法中,因爲這時可能還沒有任何對象產生
5this多用在區分變量成員與形參


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章