我有一個Java相關的問題。用父類和子類聲明一個新對象的方法之一
我有一個公共類Parent和它的子類public class Child extends Parent。
如果我要宣佈一個新的對象作爲
Parent p = new Child();
將p
能夠使用兒童與家長的方法是什麼?還是隻有父?
此外,這將是在宣佈差異p
作爲
Child p = new Child();
如果孩子已經延伸家長嗎?
我有一個Java相關的問題。用父類和子類聲明一個新對象的方法之一
我有一個公共類Parent和它的子類public class Child extends Parent。
如果我要宣佈一個新的對象作爲
Parent p = new Child();
將p
能夠使用兒童與家長的方法是什麼?還是隻有父?
此外,這將是在宣佈差異p
作爲
Child p = new Child();
如果孩子已經延伸家長嗎?
這要看情況。
把它想象成電視遙控器和特定品牌的電視機。
父類是較舊的三星模型。孩子班是更新的三星模型(可以做更多的事情!)。
如果你這樣做Parent p = new Child();
你是說你想在新的三星機型上使用舊款三星機型的遙控器。你當然可以這樣做,但你不會有所有的按鈕來使用Child
類的所有新功能。聲明像這樣,p
只能訪問Parent
方法。
但是,如果你做Child p = new Child();
,那麼你已經買了一個全新的遙控器去與你的新電視 - 現在你可以使用你的電視的所有功能。 p
現在可以訪問Parent
和Child
方法。
Java繼承
class Parent
{
public void p1()
{
System.out.println("Parent method");
}
}
public class Child extends Parent {
public void c1()
{
System.out.println("Child method");
}
public static void main(String[] args)
{
Child cobj = new Child();
cobj.c1(); //method of Child class
cobj.p1(); //method of Parent class
}
}
輸出
Child method
Parent method
你提到的是正確的。但他提到的問題是真實的引用轉換..子類對象超級類引用... – Madhuri
我認爲你需要閱讀更多關於繼承在java中,請看看這個https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html – Ajit
我不想破壞你的通過告訴你答案的樂趣。所有你需要做的就是爲'Parent'和'Child'編寫一些方法,看看你可以在'p'上調用哪些方法。 –