Java语言程序设计(一)课后习题第五章(附答案)来源:Thea发布时间:2010-03-05五、类的继承
l.什么是继承?什么是父类?什么是子类?继承的特性可给面向对象编程带来什么好处?什么是单重继承?什么是多重继承?
2.观察下面的程序片断,指出其中的父类和子类,以及父类和子类的各个域和方法。
class SuperClass
{
int data;
voidsetData(intnewData)
{
data=newData~
}
intgetData()
{
return data~
}
}
class SubClass extends SuperClass
{
int suhData;
void setSubData(intnewData)
{
suhData=new Data;
}
intgetData()
{
return subData;
}
}
3.“子类的域和方法的数目一定大于等于父类的域和方法的数目”,这种说法是否正确?为什么?
4. 在Java程序中,通过类的定义只能实现单重继承()
5.下列哪些说法是正确的?
A、 Java 语言只允许单一继承
B、 Java 语言只允许实现一个接口
C、 Java 语言不允许同时继承一个类并实现一个接口
D、 Java 语言的单一继承使得代码更加可靠
6.Java中所有类都是类________的子类。
7. 请写出下面程序的运行结果。
public class Test extends TT{
public void main(String args[]){
Test t = new Test("Tom");
}
public Test(String s){
super(s);
System.out.println("How do you do?");
}
public Test(){
this("I am Tom");
}
}
class TT{
public TT(){
System.out.println("What a pleasure!");
}
public TT(String s){
this();
System.out.println("I am "+s);
}
}
结果:________
8.父类的成员在子类中的访问权限由决定。
9.对象的使用包括引用对象的成员变量和方法。通过运算符就能实现对对象成员变量的访问和对象
10.Java是面向对象语言,对象是客观事物的,对象与之是一一对应的,它是很具体的概念。
参考答案:
l.答:继承是面向对象程序设计中两个类之间的一种关系。当一个类获取另一个类中所有非私有的数据和操作的定义作为它自己的部分或全部成分时,就称这两个类之间具有继承关系。被继承的类称为父类或超类,继承了父类或超类的所有数据和操作的类称为子类。
面向对象程序设计中的继承,可使得程序结构更加清晰,降低了编码和维护的工作量。如果一个类只能有一个父类,则这种继承关系称为单重继承;如果一个类可以有多个父类,则这种继承关系称为多重继承。
2.答:
父类SuperClass
父类的域data
父类的方法setData(),getData()
子类SubClass
子类的域data,subData
子类的方法setSubData(),setData(),getData()
3.答:这种说法是错误的,因为子类不一定能继承父类的所有域和方法,它只能继承所有非私有的域和方法。如果子类在继承之外自己定义的域和方法数目小于父类中私有成员的数目,则子类的域和方法的数目小于父类的域和方法的数目
4. true
5. A D
6. Object
7. 答:
What a pleasure!
I am Tom
How do you do?
8. 访问权限修饰符
9. “.”
10.软件模型