版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liwei16611/article/details/82379435
1、接口类 interface
接口定义:
可以供别人使用的方法,接口中只有方法的定义没有实现。
以 Android click 监听为例:
定义:
public class MyButton {
private OnMyClickListener myClickListener ;
public interface OnMyClickListener{
void onClick(String s);
}
// 定义接口
public void setOnMyClickListener( OnMyClickListener onMyClickListener){
this.myClickListener = onMyClickListener ;
}
private void whenButtonClick(){
myClickListener.onClick("test...");
}
}
使用:
MyButton myButton = new MyButton(this);
myButton.setOnMyClickListener(new MyButton.OnMyClickListener() {
@Override
public void onClick(String s) {
}
});
// 模拟用户点击事件
myButton.whenButtonClick();
2、抽象类 abstract
定义:
含抽象方法的类叫抽象类,抽象方法和接口类似指的是未实现的方法。
接口和抽象类区别:
a、接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的; 抽象类是可以有私有方法或私有变量的
b、实现接口的一定要实现接口里定义的所有方法;
实现抽象类可以有选择地重写需要用到的方法
c、一个类可以实现多个接口;
一个类只能继承一个超类(abstract)
示例:
定义:
public abstract class CollegeStudent {
abstract void canDO() ;
}
实现:
public class CollegeStudentInMathmatics extends CollegeStudent {
@Override
void canDO() {
}
}
refer: