美文网首页Android开发
Android开发教程之Java的抽象类 多态以及接口

Android开发教程之Java的抽象类 多态以及接口

作者: 你的益达233 | 来源:发表于2021-06-16 10:32 被阅读0次

一、抽象类

首先它也是一个类,类就有基本的属性和方法。但是有时候我也子类必须实现某个方法才能算是真正我的子类。就比如我要每个动物都有吃的方法,但具体吃什么由你们决定,就是必须有,如eat()方法。这样的方法我们就成为抽象方法,定个标准的意思。
具有抽象方法的类是抽象类

定义抽象类格式

使用abstract class来定义抽象类

定义抽象类的抽象方法

使用abstract关键字来定义

如下代码示例:

public abstract class Animal {

    private String name;

    public Animal(String name) {
        this.name = name;
    }

    abstract void eat();
}  
抽象类是不能实例化的,需要它的实现类才能实例化,可为实现类就是继承了抽象类,实现了全部抽象方法的类。用extends关键字

如Dog实现类

public class Dog extends Animal{

    public Dog(String name) {
        super(name);
    }

    @Override
    void eat() {
        System.out.println("我要吃骨头");
    }
}

二、接口

首先接口和抽象类很像,都是具有抽象方法。按我们的理解,有抽象类完全满足了啊。但抽象类有个大缺陷就是只能单继承,接口可以多继承,也许因为这一缘故,才有了接口。

定义接口格式

interface xxx (xxx为接口名)

抽象方法

因为接口的方法都是抽象方法,所有可以省略abstract

实现接口 implements

class AClass implements xxx

一般什么时候定义接口呢

1、定义某一标准方法,让类如果需要这方法,可以去实现。如上面eat()。可以定义为一个接口,让动物,植物都去实现这方法
2、需要回调时定义一个接口

接口示例代码:

public interface  ClickListener {

    //点击事件抽象
    void click();
}

这时鼓和钟都有敲击或者点击事件
钟:

public class Clock implements ClickListener{
    @Override
    public void click() {
        System.out.println("钟敲击声音为叮");
    }
}

鼓:

public class Drum implements ClickListener{
    @Override
    public void click() {
        System.out.println("鼓敲击声音为嘣");
    }
}

三、多态

讲完继承,抽象类,接口。就可以讲讲多态了
因为多态的三个必要条件

  1. 继承
  2. 重写
  3. 父类引用指向子类对象 如Animal a = new Dog();

示例应用代码:

            if (getIView() instanceof NewMsgNoticeIView) {
                getIView().showRealView();
                ((NewMsgNoticeIView) getIView()).onDataResult(mr.getData());
            }
            if (getIView() instanceof MainIView)
                ((MainIView) getIView()).onDataResult(mr.getData());

相关文章

  • java抽象类和接口小记

    Java抽象类和接口小记 Java抽象类和接口实现了java的多态.多态是面向对象程序语言的核心,在项目开发过程中...

  • Android开发教程之Java的抽象类 多态以及接口

    一、抽象类 首先它也是一个类,类就有基本的属性和方法。但是有时候我也子类必须实现某个方法才能算是真正我的子类。就比...

  • java abstract

    参考java抽象类和抽象方法Android开发:抽象类(abstract class)和接口(Interface)...

  • Android_开发_Day12_抽象类和接口

    Android_开发Day12抽象类和接口 目的: 知道什么是抽象类,什么是接口,学会抽象类的使用,与接口的使用。...

  • Java抽象类与接口的区别

    相信有很多有经验的小伙伴们在面试中都会被问到Java抽象类与接口的理解等相关问题。是从Java多态中的特性,多态是...

  • Java基础教程之接口的继承与抽象类

    Java基础教程之接口的继承与抽象类 在实施接口中,我们利用interface语法,将interface从类定义中...

  • Java 抽象类 接口 多态

    Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作...

  • 第一天面向对象OOP

    java基础OOP第一天总结_12_03 1,继承2,抽象类3,接口4,多态 面向对象的继承问题 面向对象的抽象类...

  • 关于Android(JAVA)实例化接口假象的讨论

    关于Android(JAVA)实例化接口假象的讨论 我们都知道,java中抽象类和接口都是不能实例化的,但是,在写...

  • 芦继超10.27总结

    今天老师讲了多态,抽象类,和接口,多态和抽象类还是挺好理解的,之后的接口没太懂,不会用,下午助教老师又讲了一下,收...

网友评论

    本文标题:Android开发教程之Java的抽象类 多态以及接口

    本文链接:https://www.haomeiwen.com/subject/pmexyltx.html