别记什么花里胡哨的概念,只要会用就行
新建项目,空activity名字叫main,注意在androidmanifest.xml中声明
首先写main.java的布局main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/实现抽象类中的方法"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="点击这里实现抽象类中的方法"/>
</LinearLayout>
新建两个class,不需要在androidmanifest.xml中声明
第一个class名为abstractclass代码如下
public abstract class abstractclass {
//在抽象类中定义一个模板,没有具体的动作
public abstract void 继承抽象类重写其中的抽象方法(Context context);
}
第二个class名为implementmethods内容如下
public class implementmethods extends abstractclass {
//继承抽象类,重写其中的模板,加入动作
@Override
public void 继承抽象类重写其中的抽象方法得到的具体方法(Context context) {
ToastUtil.showMsg(context, "11");
}
}
现在写main.java
public class main extends Activity{
//使用重写抽象类后的函数实现具体行为
Button 实现抽象类中的方法;
implementmethods 实例化重写抽象类后的函数 = new implementmethods();
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.abstractinterface);
实现抽象类中的方法=findViewById(R.id.实现抽象类中的方法);
实现抽象类中的方法.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
实例化重写抽象类后的函数.继承抽象类重写其中的抽象方法得到的具体方法(getApplicationContext());
}
});
}
}
效果:点击按钮后,执行继承并重写了抽象类abstractclass的函数implementmethods中的“继承抽象类重写其中的抽象方法得到的具体方法”方法
其它抽象类如何使用便可以类比这个最简单的抽象类的使用方法