如何强制子类在java中实现某些方法?

如何强制子类在java中实现某些方法?,java,libgdx,Java,Libgdx,我在libgdx框架中有屏幕界面 我创建了一个名为BaseLayout的子类,其中初始化了一些字段 现在,对于每个实际屏幕,例如菜单屏幕,我扩展了这个BaseLayout类 我想强制这些类(例如MenuScreen)实现两种方法 void initData(),以及void addButtonsToScreen()怎么做? 我在show方法中调用这些方法,这些方法仅在基类BaseLayout中实现。请将这些方法声明为 例: 抽象方法是一种声明时不带实现(不带大括号,后跟分号)的方法,如下所示:

我在libgdx框架中有
屏幕
界面

我创建了一个名为
BaseLayout
的子类,其中初始化了一些字段

现在,对于每个实际屏幕,例如菜单屏幕,我扩展了这个
BaseLayout

我想强制这些类(例如MenuScreen)实现两种方法
void initData()
,以及
void addButtonsToScreen()
怎么做?


我在
show
方法中调用这些方法,这些方法仅在基类
BaseLayout
中实现。请将这些方法声明为

例:

抽象方法
是一种声明时不带实现(不带大括号,后跟分号)的方法,如下所示:

abstract void moveTo(double deltaX, double deltaY);

请将这些方法声明为

例:

抽象方法
是一种声明时不带实现(不带大括号,后跟分号)的方法,如下所示:

abstract void moveTo(double deltaX, double deltaY);
我想强制这些类(例如MenuScreen)实现两个方法void initData()和void addButtonsToScreen()。如何做到这一点

使
BaseLayout
成为
abtract类
并使
initData()
addButtonsToScreen()成为抽象方法

范例

然后,您只需使子类扩展并实现这些方法

public class ConcreteLayout extends BaseLayout
{
     public void initData()
     {
         // Some code here.
     }

     public void addButtonsToScreen()
     {
         // Some code here.
     }
}
我想强制这些类(例如MenuScreen)实现两个方法void initData()和void addButtonsToScreen()。如何做到这一点

使
BaseLayout
成为
abtract类
并使
initData()
addButtonsToScreen()成为抽象方法

范例

然后,您只需使子类扩展并实现这些方法

public class ConcreteLayout extends BaseLayout
{
     public void initData()
     {
         // Some code here.
     }

     public void addButtonsToScreen()
     {
         // Some code here.
     }
}

有两种方法可以做到这一点:

1-将您的
Baselayout
类声明为
abstract
类,并声明希望强制子
类实现为
abstract
方法


2-另一种方法是在
BaseLayout
类中定义一个定义这两种方法的接口,然后在
子类中实现该接口。

有两种方法可以做到这一点:

1-将您的
Baselayout
类声明为
abstract
类,并声明希望强制子
类实现为
abstract
方法


2-另一种方法是在
BaseLayout
类中定义一个定义这两种方法的接口,然后在
子类中实现该
接口。

但是我的BaseLayout类不是抽象的。为什么不能使用
abtract
?对不起,我的错误,我可以it@user494461记住,
抽象类不能被实例化,但它们可以被子类化。
。但是我的BaseLayout类不是抽象的。为什么你不能使它成为
abtract
?对不起,我的错误,我可以it@user494461记住,
抽象类不能被实例化,但它们可以被子类化。