公眾號(hào):mywangxiao
及時(shí)發(fā)布考試資訊
分享考試技巧、復(fù)習(xí)經(jīng)驗(yàn)
新浪微博 @wangxiaocn關(guān)注微博
聯(lián)系方式 400-18-8000
11. Which statements about inheritance are true?
A. In Java programming language only allows single inheritance.
B. In Java programming language allows a class to implement only one
interface.
C. In Java programming language a class cannot extend a class and implement
a interface together.
D. In Java programming language single inheritance makes code more
reliable.
翻譯
下面關(guān)于繼承的哪些敘述是正確的。
A. 在java中只允許單一繼承。
B. 在java中一個(gè)類只能實(shí)現(xiàn)一個(gè)接口。
C. 在java中一個(gè)類不能同時(shí)繼承一個(gè)類和實(shí)現(xiàn)一個(gè)接口。
D. java的單一繼承使代碼更可靠。
答案A,D 解析
在java中一個(gè)類只能有一個(gè)直接父類,但是可以實(shí)現(xiàn)多個(gè)接口,在繼承的同時(shí)可以實(shí)現(xiàn)接口,之所以取消多繼承的原因是多繼承使得代碼產(chǎn)生很多問題,而使用單一繼承則可以使代碼更可靠。
12.
1) class Person {
2) public void printValue(int i, int j) {/*…*/ }
3) public void printValue(int i){/*...*/ }
4) }
5) public class Teacher extends Person {
6) public void printValue() {/*...*/ }
7) public void printValue(int i) {/*...*/}
8) public static void main(String args[]){
9) Person t = new Teacher();
10) t.printValue(10);
11) }
12) }
Which method will the statement on line 10 call?
A. on line 2
B. on line 3
C. on line 6
D. on line 7
翻譯
第十行的聲明將調(diào)用哪些方法。
答案
D 解析
變量t是一個(gè)Person對(duì)象,但是它是用Teacher實(shí)例化的,這個(gè)問題涉及到j(luò)ava的編譯時(shí)多態(tài)和運(yùn)行時(shí)多態(tài)的問題,就編譯時(shí)多態(tài)來說,t實(shí)際上是一個(gè)Person類,這涉及到類型的自動(dòng)轉(zhuǎn)換(將一個(gè)子類的實(shí)例賦值給一個(gè)父類的變量是不用進(jìn)行強(qiáng)制類型轉(zhuǎn)換,反之則需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,而且被賦值的變量實(shí)際上應(yīng)該是一個(gè)子類的對(duì)象),如果對(duì)t調(diào)用了子類中新增的方法則造成編譯時(shí)錯(cuò)誤編譯將不能通過,而在運(yùn)行時(shí),運(yùn)行時(shí)系統(tǒng)將根據(jù)t實(shí)際指向的類型調(diào)用對(duì)應(yīng)的方法,對(duì)于本例來說,t.print(10)將調(diào)用t實(shí)際指向的Teacher類的對(duì)應(yīng)方法。在java中,可以用一個(gè)子類的實(shí)例實(shí)例化父類的一個(gè)變量,而變量在編譯時(shí)是一個(gè)父類實(shí)例,在運(yùn)行時(shí)可能是一個(gè)子類實(shí)例。
相關(guān)鏈接:JAVA認(rèn)證考試報(bào)考指南 考試論壇 考試知道 考試動(dòng)態(tài)
(責(zé)任編輯:fky)