java接口、抽象类在android中的使用

接口的使用:
      接口的使用有一个很好的例子那就是安卓的click监听。 click监听 的结构十分经典。
     
public class MyButton  {

    private OnMyClickListener myClickListener ;

    public interface OnMyClickListener{
        void onClick();
    }

    public void setOnMyClickListener( OnMyClickListener onMyClickListener){
        this.myClickListener = onMyClickListener ;
    }

    private void whenButtonClick(){
        myClickListener.onClick();
    }
}
  首先,接口的定义,我们定义了这样一个名字叫OnMyClickListener接口,里面有一个click方法。
  并且在类中 定义了一个。
  private OnMyClickListener myClickListener ;
  public interface OnMyClickListener{      void onClick();    }
  
  接着,我们在需要点击事件的地方调用这个接口的方法
  private void whenButtonClick(){        myClickListener.onClick();    }
 
 
  最后,我们通过set方法,将使用者自己编写的接口赋值给我们的内部接口。
  public void setOnMyClickListener( OnMyClickListener onMyClickListener){        this.myClickListener = onMyClickListener ;    }
 
 
  ps:使用
 
myButton.setOnMyClickListener(new MyButton.OnMyClickListener() {
    @Override
    public void onClick() {

    }
});
  现在,我们整理一下这个逻辑,我们想要的是当点击的时候调用click方法,而这个click方法是由用户自己编写的。于是我们先把这个为实现的方法定义出来(即接口),接着,我们在该调用的地方调用这个方法(在whenButtonClick中调用),最后,通过set方法,让用户传入已经写好的接口对象。
抽象类的使用:
  含抽象方法的类叫抽象类。抽象方法和接口类似指的是未实现的方法。比如我们做大学生的应用,需要描述每个专业大学生能做什么。
  那么我们在编写大学生类的时候就可以添加抽象方法,将大学生类变成抽象类。
  
//大学生类
public abstract class CollegeStudent {
    //能做什么
    abstract void  canDO() ;
}

如此一来,细分好专业的大学生类继承大学生类的时候就必须实现定义的抽象方法(即描述大学生能做什么)

//数学系的大学生   
public class CollegeStudentInMathmatics extends CollegeStudent {
    //必须实现canDO方法 描述能做什么
    @Override
    void canDO() {

    }
}

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值