【JavaSE】:接口(一)

接口

  • 一.什么是接口
  • 二.语法规则
  • 三.接口的使用
  • 四.实现多个接口
  • 五.接口的继承

final关键字

inal修饰的变量,这个变量是不可修改的。final修饰后的方法,禁止子类继承的时候重写方法。final修饰后的类,是禁止被继承的。

super关键字

如果父类(超类)没有默认的构造方法,子类就必须显式调用super(),并且必须使用父类中的某个构造方法的参数。

什么意思呢?
1.就是有一个父类Parent,子类Son,如果我们在Parent中定义了构造函数,那么在继承父类的子类中就必须书写父类的构造函数。那么此时就需要将super()写在子类构造方法中。

2.如果父类中没有定义构造方法,那么编译器会默认是public Parent(){}就是空的,此时在子类中不书写super也不会报错,因为编译器默认生成子类构造方法为空,super()就默认是隐藏的。

3.就是构造函数必须有super(),如果子类中没有super(),那是因为编译器替你干了这个活,它隐藏了super()这个默认的无参构造方法,算是隐式调用。
注意显式二字。

一.什么是接口

在现实生活中,接口的例子比比皆是,比如:笔记本上的USB口,电源插座等。

【JavaSE】:接口(一)_第1张图片

电脑的USB口上,可以插:U盘、鼠标、键盘…所有符合USB协议的设备。

电源插座插孔上,可以插:电脑、电视机、电饭煲…所有符合规范的设备。

通过上述例子可以看出:接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用。

在Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型。

二.语法规则

接口的定义格式与定义类的格式基本相同,将class关键字换成 interface 关键字,就定义了一个接口。

【JavaSE】:接口(一)_第2张图片

【JavaSE】:接口(一)_第3张图片

三.接口的使用

接口不能直接使用,必须要有一个"实现类"来"实现"该接口,实现接口中的所有抽象方法。需要使用关键字implements。

注意:子类和父类之间是extends 继承关系,类与接口之间是 implements实现关系。

【JavaSE】:接口(一)_第4张图片

在这里插入图片描述

四.实现多个接口

在Java中,类和类之间是单继承的,一个类只能有一个父类,即Java中不支持多继承,但是一个类可以实现多个接口。

//创建一个动物类
class Animal{
    public String name;
    Animal(String name)
    {
        this.name=name;
    }
}

//创建几个接口
interface Run{
    void Running();
}
interface Swim{
    void Swimming();
}
interface Fly{
    void Fling();
}

//再实现一个“鸭子”
class Duck extends Animal implements Run,Fly,Swim{
    Duck(String name) {
        super(name);
    }
    @Override
    public void Fling() {
        System.out.println(name+"会飞");
    }

    @Override
    public void Swimming() {
        System.out.println(name+"会游泳");
    }

    @Override
    public void Running() {
        System.out.println(name+"会跑");
    }
}



public  class test {
    public static void walk(Run run)
    {
        run.Running();
    }
    public static void swim(Swim swim)
    {
        swim.Swimming();
    }
    public static void fly(Fly fly)
    {
        fly.Fling();
    }
    public static void main(String[] args) {
        walk(new Duck("唐老鸭"));
        fly(new Duck("唐老鸭"));
        swim(new Duck("唐老鸭"));

    }
}

【JavaSE】:接口(一)_第5张图片

五.接口的继承

在Java中,类和类之间是单继承的,一个类可以实现多个接口,接口与接口之间可以多继承。即:用接口可以达到多继承的目的。

接口可以继承一个接口, 达到复用的效果. 使用 extends 关键字。

【JavaSE】:接口(一)_第6张图片

接口间的继承相当于把多个接口合并在一起

【JavaSE】:接口(一)_第7张图片

你可能感兴趣的:(JavaSE,java)