一、
1.B 成员变量不能直接操作
2.C x不是类成员
3.D double 转 int 数据会损失
二、
1. 100:20
2. 21:21
三、
public class 作业
{
public static void main(String arags[])
{
CPU cpu = new CPU();
cpu.setSpeed(2200);
HardDisk disk = new HardDisk();
disk.setAmount(200);
PC pc = new PC();
pc.setCpu(cpu);
pc.setHD(disk);
pc.show();
}
}
class CPU
{
int speed;
public void setSpeed(int temp)
{
this.speed=temp;
}
public int getSpeed()
{
return this.speed;
}
}
class HardDisk
{
int amount;
void setAmount(int temp)
{
this.amount=temp;
}
int getAmount()
{
return this.amount;
}
}
class PC
{
CPU cpu;
HardDisk HD;
void setCpu(CPU temp)
{
this.cpu=temp;
}
void setHD(HardDisk temp)
{
this.HD=temp;
}
void show()
{
System.out.println("PC speed is "+cpu.getSpeed()+" and amount is "+HD.getAmount());
}
}
public class work
{
public static void main(String [] a)
{
Simulator simulator=new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
}
abstract class Animal
{
abstract public void cry();
abstract public void getAnimalName();
}
class Dog extends Animal
{
@Override
public void cry()
{
System.out.println("汪汪");
}
@Override
public void getAnimalName()
{
System.out.println("我不是人,你是真狗");
}
}
class Cat extends Animal
{
@Override
public void cry()
{
System.out.println("喵了个咪");
}
@Override
public void getAnimalName()
{
System.out.println("我是猫");
}
}
class Simulator
{
public void playSound(Animal animal)
{
animal.cry();
animal.getAnimalName();
}
}



