我正在为我的应用程序创建抽象活动类,我将为每个活动重用它。
超级课程: android.app.Activity
我的抽象类扩展了android.app.Activity myActivity
我的应用程序中的示例活动扩展了myActivity 。
我将有10-20个exampleActivity
。
如何编写抽象类(#2)以强制我的示例类覆盖android.app.Activity
中的方法,如onCreate()
和onStart()
?
这在Java中是否可行?
答案 0 :(得分:3)
不是。
然而你可以创建抽象函数myOnCreate和myOnStart,并在onCreate和onStart的抽象类实现中调用它们。
你可能也想让onCreate / onStart最终,虽然很难看出强迫myOnCreate而不是onCreate有什么好处。
答案 1 :(得分:3)
这是可能的,
public abstract class MyActivity extends android.app.Activity
{
public abstract void onCreat(...);
public abstract void onStart(...);
}
public class OtherActivity extends MyActivity
{
public void onCreate(...)
{
//write your code
}
public void onStart(...)
{
//write your code
}
}
答案 2 :(得分:0)
NOP。如果您需要强制其他人在其实现中覆盖它,那么使用onCreate和onStart方法创建接口会更优雅。
并通过构造函数或setter将接口实例传递给抽象活动类。