我有延伸的具體類的抽象類。但我對如何使用它感到困惑。我想如何用抽象類中的方法來實例化具體類,就像我通常會採取其他方法一樣?或者有另一種實例化類的方法嗎?抽象類擴展的具體類
-1
A
回答
8
一個抽象類總是延伸的具體類(java.lang.Object
至少是)。所以它的工作原理與往常一樣。如果你想實例化它,你必須用這些抽象方法的具體實現來對它進行子類化,並通過具體的類來實例化它。
像往常一樣做的。這不是特例。
0
例如,假設我們已經擴展fooFather類foo的抽象類。
public abstract class Foo extends FooFather{
}
然後我們創建一個擴展美孚這樣的一個子類:
public class Foo2 extends Foo{
}
And initialize it like this
Foo aFoo=new Foo2();
1
你可以有一個類型的實現。我的意思是這樣的: 假設你有一個動物類。該Animal
類有一個方法名jump()
,然後擴展Mammal
另一個類。 Mammal
類是抽象的。我的理解是,您希望任何課程延伸Mammal
必須覆蓋jump()
方法。這是我相信你的問題。爲了實現這一點,我會說創建一個抽象方法,並在原始方法中調用它。我的意思是,像這樣:
public class Animal
{
public final String name;
public final int weight;
public Animal(String name, int weight)
{
this.name = name;
this.weight = weight;
}
public void jump()
{
System.out.println(name + " Jumped");
}
}
然後你有哺乳動物類:
public abstract class Mammal extends Animal
{
public Mammal(String name, int weight)
{
super(name, weight);
}
public abstract void jumpMammal();
@Override
public final void jump()
{
jumpMammal();
}
}
如果任何類試圖重寫Mammal
類,他們被要求重寫jumpMammal()
方法,因此運行在jump()
方法中。
相關問題
- 1. 當抽象類擴展具體類時,繼承的成員是抽象的嗎?
- 2. 抽象類vs具體類?
- 3. 抽象類和具體類
- 4. 擴展抽象泛型類
- 5. 抽象基類擴展
- 6. 抽象類擴展Thread
- 7. 使用抽象構建器vs具體類和具體構建器擴展抽象類
- 8. 如何使PHP類擴展抽象類需要更具體的類型
- 9. Java的抽象類擴展兩個類
- 10. C# - 抽象類擴展類和new()?
- 11. 擴展抽象類的具體類中的override是什麼效果?
- 12. 擴展另一個抽象類的php抽象類
- 13. 一個具體的類VS抽象類
- 14. 抽象類在PHP中擴展抽象類?
- 15. Java - 具體類擴展的泛型類
- 16. 用Java中的抽象類擴展ArrayList?
- 17. 在Typescript中擴展抽象類
- 18. 擴展類時出現抽象錯誤
- 19. Scala擴展參數化抽象類
- 20. 將接口擴展到抽象類
- 21. 擴展模板抽象類時出錯
- 22. 用於擴展一個抽象類
- 23. 如何用泛型擴展抽象類?
- 24. Mozilla犀牛1_7R4擴展抽象類(JS)
- 25. 在c中擴展抽象類#
- 26. 將接口抽象爲具有擴展方法的類
- 27. 抽象類中的具體方法
- 28. 從具體的整數類型抽象
- 29. 具體類繼承自繼承自通用抽象類的抽象類
- 30. Symfony2 - 擴展實體,抽象實體
添加一些代碼,以便我們可以幫助您 – cssGEEK
我很困惑如何使用您的想象代碼以及 – redFIVE
你只需要再次擴展。 –