java语言程序设计基础篇习题_复习题_第十一章

11.1 下面说法是真是假?一个子类是父类的子集。

答:假,子类是父类的扩展,并不是子集。

11.2 使用什么关键字来定义一个子类

答:extends前的是子类,后面的是父类

11.3 什么是单一继承?什么是多重继承?java支持多重继承吗?

答:某些程序设计语言是允许从几个类派生出一个子类的。这种能力称为多重继承(multipleinheritance) 。 但是在 Java中是不允许多重继承的。 一个 Java类只可能直接继承自一个父类。这种限制称为单一继承(single inheritance) 。 如果使用extends关键字来定义一个子类, 它只允许有一个父类。

11.4 下面 a 中类 C的运行结果输出什么?编译b 中的程序的时候将出现什么问題?

在这里插入图片描述
答:a中在C类中创建了B类的对象,这个时候先要调用A类的构造函数,打印出A()中的那句话;b中A没有无参构造函数,会报错

11.5 子类如何调用它的父类的构造方法?

答:super

11.6 下面的说法是真是假: 当从子类调用构造方法时, 它的父类的无参构造方法总是会被调用?

答:假,如果通过参数调用呢

11.7 下面说法是真是假: 可以重写父类中定义的私有方法?

答:假,私有方法无法访问,不能重写

11.8 下面说法是真是假: 可以重写父类中定义的静态方法?

答:假,不可以

11.9 如何从子类中显式的调用父类的构造方法?

答:父类()

11.10 如何从子类中调用一个被重写的父类的方法?

答:子类.该方法

11.11 指出下面代码的错误

在这里插入图片描述
答:这里B类的重写中getArea()缺少super引用父类的方法。这样会重复调用本地的方法,陷入死循环。

11.12 解释方法重载和方法重写的不同之处。

答:方法重写发生在通过继承而相关的不同类中; 方法重载可以发生在同一个类中, 也可以发生在由于继承而相关的不同类中。方法重写具有同样的签名和返回值类型;方法重载具有同样的名字, 但是不同的参数列表

11.13 如果子类中的方法具有和它父类中的方法完全相同的方法签名,且返回值类型也相同,那么这是方法重写还是方法重载呢?

答:重写

11.14 如果子类中的一个方法具有和它父类中的方法完全相同的方法签名, 但返回值类型不相同, 这会存在问题吗?

答:会有问题。无法确定

11.15 如果子类中的一个方法具有和它父类中的方法相同的名字,但参数类型不同,那么这是方法写还是方法重载呢?

答:重载

11.17 什么是多态?什么是动态绑定?

答:多态就好像中国的太极,道。可容万类,可化万类。动态绑定,就是你用哪个类,这个方法就调用那个类的方法。

11.18 描述方法匹配和方法绑定之间的不同。

答:引用变量的声明类型决定了编译时匹配哪个方法。 而方法绑定贼没有在编译的时候匹配某个方法,而是在实例形成的时候动态绑定的。

展开阅读全文

没有更多推荐了,返回首页