习题4
1.问答题
- 封装性、继承性、多态性、[抽象性]
- 单词开头字母大写(大驼峰命名法)
- 除开头字母其余单词开头字母大写(小驼峰命名法)
- 属性
- 行为
- new Class();时使用构造方法,构造方法没有类型
- 对象new之后就会被分配内存空间
- 即同名的方法实现不同的功能(一般是由于参数略有不同但是近似的功能),构造方法可以重载
- 可以,类变量(static变量)是属于类的,也可以理解为是该类创建的每个对象共享的,因此属于对象的实例方法可以操作类变量;不可以,类方法(static方法)是没有this指针作为参数的
- 不可以,同理类中的实例方法需要一个对象的this指针默认作为第一个参数
- this关键字代表指向当前对象的指针,当对象调用实例方法时,Object.method(其余参数),相当于method(this,其余参数),其中this是指向.运算符之前的Object的指针,因此this不可以出现在类方法中,因为类方法不会默认this作为第一个参数
2.选择题
- B
- D
- D
- D
- C&D
- 代码1 & 代码4
- 代码4
3.阅读程序
1
121
121
sum=-100
27
100
20.0
4.编程题
public class CPU {
int speed;
void setSpeed(int m){
speed = m;
}
int getSpeed(){
return speed;
}
}
public class HardDisk {
int amount;
void setAmount(int m){
amount = m;
}
int getAmount(){
return amount;
}
}
public class PC {
CPU cpu;
HardDisk HD;
void setCPU(CPU c){
cpu = c;
}
void setHardDisk(HardDisk h){
HD = h;
}
void show(){
System.out.println("CPU的速度为:"+cpu.getSpeed());
System.out.println("硬盘的容量为:"+HD.getAmount());
}
}
public class Test {
public static void main(String args[]){
CPU cpu = new CPU();
cpu.speed = 2200;
HardDisk disk = new HardDisk();
disk.amount = 200;
PC pc = new PC();
pc.setCPU(cpu);
pc.setHardDisk(disk);
pc.show();
}
}
CPU的速度为:2200
硬盘的容量为:200