【Android】小白进阶之接口和抽象类的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 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:

https://blog.csdn.net/it_zjyang/article/details/51417001

猜你喜欢

转载自blog.csdn.net/liwei16611/article/details/82379435