第二章 类与对象2
课堂练习4:
编写代码模拟手机与SIM卡的组合关系。
要求:
SIM卡类负责创建SIM卡;
Phone类负责创建手机;
手机可以组合一个SIM卡;
手机可以更换其中的SIM卡。
package leiyuduixiang;
public class SIM {
long hao;
void readhao(long hao){
this.hao=hao;
}
long sethao(){
return hao;
}
}
package leiyuduixiang;
public class phone {
SIM sim;
void setsim(SIM sim){
this.sim=sim;
}
long getsim(){
return sim.sethao();
}
package leiyuduixiang;
import java.util.Scanner;
public class testphone {
public static void main(String[] args) {
SIM s=new SIM();
phone p=new phone();
Scanner in=new Scanner(System.in);
System.out.print("输入手机号:");
s.hao=in.nextLong();
p.setsim(s);
System.out.println("原来手机号:"+p.getsim());
System.out.println("输入手机号:");
s.hao=in.nextLong();
p.setsim(s);
System.out.print("更换后手机号:"+p.getsim());
}
}
课堂练习5:
package leiyuduixiang;
public class Cpu {
int speed;
void setSpeed(int speed){
this.speed=speed;
}
int getSpeed()
{
return speed;
}
}
package leiyuduixiang;
public class HardDisk {
int amount;
void setAmount(int amount){
this.amount=amount;
}
int getAmount()
{
return amount;
}
}
package leiyuduixiang;
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());
}
}
package leiyuduixiang;
public class testpc {
public static void main(String[] args) {
// TODO Auto-generated method stub
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类置于不同的包中,通过对求体积方法设置不同的访问权限,查看并分析编译和运行结果
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;
}
}
package bzu.info.software;
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.software;
public class A {
public static void main(String[] args) {
// TODO Auto-generated method stub
}