理解java中的继承抽象方法

时间:2012-03-19 18:14:01

标签: java android

我是Java的新手,但不是编程。 我正在阅读“开始Android游戏”这本书,并且有一个abstract class可以实例化here(第10行) 我无法理解你如何实例化一个抽象类?。

该类是抽象的,因为它从类Game(实现Game)继承了一个抽象方法。

5 个答案:

答案 0 :(得分:2)

AndroidGame没有在第10行或类的任何其他行中实例化,它只是被声明为成员。

必须将它传递给类的构造函数,第16行,因此会发生这种情况:

AndroidGame必须在课堂外初始化,然后传递给FastRenderView以使当前屏幕可供绘图(第44行)。

为了能够在其他地方实例化,必须从AndroidGame派生并覆盖它的抽象方法。

答案 1 :(得分:1)

它没有实例化。你来自C ++吗?如果是这样,你必须记住那个语法声明了一个引用,它没有抽象类型的问题吗?

答案 2 :(得分:0)

不,第10行没有instantiate任何东西。这只是一个宣言。变量game得到它的引用,可能是通过构造函数 - AndroidFastRenderView完全实现抽象类的类的实例。

答案 3 :(得分:0)

  

有一个抽象类在这里实例化(第10行):

AndroidGame game;

错!此处没有任何实例化。您正在声明对类型 AndroidGame的引用,这非常好。 (狮子狗是一种动物,即使动物是抽象类型)。 底层实例必须是AndroidGame的具体子类。

使用new运算符进行实例化。

答案 4 :(得分:0)

第10行没有实例化;声明对AndroidGame的引用。

AndroidGame引用可以引用任何扩展AndroidGame的内容。