W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
class Base{}
class Agg extends Base{
public String getFields(){
String name = "Agg";
return name;
}
}
public class Avf{
pulic static void main(String argv[]){
Base a = new Agg();
//here
}
}
下面哪個(gè)選項(xiàng)的代碼替換到//here會(huì)調(diào)用getFields方法,使出書(shū)結(jié)果是Agg
A. System.out.println(a.getFields()); B. System.out.println(a.name); C. System.out.println((Base)a.getFields()); D. System.out.println(((Agg)a).getFields());
答案 D
Base 類(lèi)要引用 Agg 類(lèi)的實(shí)例需要把 Base 類(lèi)顯示地轉(zhuǎn)換成 Agg 類(lèi),然后調(diào)用 Agg 類(lèi)中的方法. 如果 a 是 Base 類(lèi)的一個(gè)實(shí)例,是不存在這個(gè)方法的,必須把 a 轉(zhuǎn)換成 Agg 的一個(gè)實(shí)例
class A{
public A(){
System.out.println("A");
}
}
public class B extends A{
public B(){
System.out.println("B");
}
public static void main(String[] args){
A a = new B();
a = new A();
}
}
輸出結(jié)果是 A B A
class A{
public void print(){
System.out.println("A");
}
}
class B extends A{
public void print(){
System.out.println("B");
}
}
public class Test{
..
B objectB = new B();
objectB.print();
A as = (A) objectB;
as.print();
A asg = objectB;
asg.print();
as = new A();
as.print();
..
}
輸出為 B B B A
public class Test {
public static void main(String[] args){
Father father = new Father();
Father child = new Child();
System.out.println(father.getName());
System.out.println(child.getName());
}
}
class Father{
public static String getName(){
return "Father";
}
}
class Child extends Father{
public static String getName(){
return "Child";
}
}
輸出是 Father Father 因?yàn)檫@里的方法 getName 是靜態(tài)的. 具體執(zhí)行哪一個(gè),則要看是由哪個(gè)類(lèi)來(lái)調(diào)用的.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: