如何选择性的实现接口中方法

原创 2015年11月20日 11:27:13

如何选择性的实现接口中方法

问题描述

在对ObjectAnimator添加监听器的时候,需要实现一下四个方法才可以

animation = ObjectAnimator.ofFloat(imageView,"alpha",1f,0f);
animation.setDuration(4000);
animation.addListener(new Animator.AnimatorListener() {
    @Override
    public void onAnimationStart(Animator animation) {
    }
    @Override
    public void onAnimationEnd(Animator animation) {
    }
    @Override
    public void onAnimationCancel(Animator animation) {
    }
    @Override
    public void onAnimationRepeat(Animator animation) {
    }
});

但是很多情况下我们并不需要对使用全部的四个方法,从而造成了代码上的冗余,但是不实现却不符合语法规则,那么有什么办法可以避免这种冗余的写法呢?

问题解决

引入这样的一种写法就可以了

/**
*   AnimatorListenerAdapter.java
*/
public class AnimatorListenerAdapter implements Animator.AnimatorListener{
    @Override
    public void onAnimationCancel(Animator animation) {

    }

    @Override
    public void onAnimationEnd(Animator animation) {

    }

    @Override
    public void onAnimationRepeat(Animator animation) {

    }

    @Override
    public void onAnimationStart(Animator animation) {

    }
}
/**
*   MainActivity.java
*/
animator.addListener(new AnimatorListenerAdapter(){
    @Override
    public void onAnimationStart(Animator animation) {
        super.onAnimationStart(animation);
    }
});

这样就可以了。这种写法对所有包含较多方法的接口非常适用。

版权声明:本文为博主原创文章,未经博主允许不得转载。

接口中的方法

接口中的方法     | 接口Interface 1. 接口中的成员变量默认都是public、static、final类型的,必须被显式初始化 2. 接口中的方...
  • jiang123986
  • jiang123986
  • 2016年12月04日 11:39
  • 4372

java8中接口中可以有方法实现

在jdk1.7及以前我们被传授的都是抽象类中可以有抽象方法,接口是特殊的抽象类,因为接口中的所有方法都必须是抽象的,不能有方法实现,而到了Java8,我们发现在接口中也可以有方法的实现,大家是不是有些...
  • hbsyqjj
  • hbsyqjj
  • 2015年01月10日 00:05
  • 2828

接口中的方法

接口中的方法     | 接口Interface 1. 接口中的成员变量默认都是public、static、final类型的,必须被显式初始化 2. 接口中的方...
  • jiang123986
  • jiang123986
  • 2016年12月04日 11:39
  • 4372

Java中接口定义及实现接口的抽象方法

1.接口 (1)接口定义前默认修饰符为public。 (2)接口中变量默认修饰符为public static final。 (3)接口中方法默认的访问权限为public。 实例 public int...
  • hellorichen
  • hellorichen
  • 2016年09月13日 14:55
  • 2732

如何实现 java 接口中的部分方法

接口和抽象类的区别?为什么需要接口? 1、不同点:接口就是比“抽象类”还“抽象”的“抽象类”,可以更加宽泛的对子类进行约束。全面的实现了:规范和具体实现的分离 在抽象类内可以有具体的方法实现,可以...
  • Maxiao1204
  • Maxiao1204
  • 2016年07月29日 14:09
  • 1329

探究java接口中的变量与方法

关于变量 java接口里的变量都是默认 pubic static final的 为啥? public 接口得能被所有对象调用 static 这个变量是属于接口本身,而不是实现了接口的对象的 具...
  • dlf123321
  • dlf123321
  • 2016年09月13日 11:43
  • 1359

接口中同一个方法不写public,为什么在实现类中一定要写public呢?

首先,接口中所有方法默认都是public,至于为什么要是public,原因在于如果不是public,那么只能在同个包下被实现,可访问权限就降低很多了,那么在实现类中,实现的类相当于子类,子类的访问权限...
  • u010772673
  • u010772673
  • 2017年02月27日 12:37
  • 945

java中,一个类实现某个接口,必须重写接口中的所有方法吗???

不一定,关键要看子类是否是抽象类。 如果子类是非抽象类,则必须实现接口中的所有方法; 如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在! 1、抽象类...
  • youxirenjia90
  • youxirenjia90
  • 2016年09月20日 12:26
  • 1804

为什么这些java接口没有抽象方法?浅谈Java标记接口

爱Java 2016-10-22 17:42 在jdk的源码中,存在这样的一些接口,他们不包含任何的(抽象)方法,但是却广泛的存在。 这种接口我们称之为Mark Interface,也就是...
  • u011277123
  • u011277123
  • 2016年10月24日 09:09
  • 713

Java 抽象类,抽象方法和接口

讲述Java中抽象类,抽象方法和接口的各种用法。
  • ccpat
  • ccpat
  • 2015年03月26日 20:50
  • 2390
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何选择性的实现接口中方法
举报原因:
原因补充:

(最多只允许输入30个字)