2020-06-21接口

作者: 智障猿 | 来源:发表于2020-06-21 17:51 被阅读0次

接口

  • 接口的特点
  1. 接口用关键字interface修饰:public interface 接口名{}
  2. 类实现接口用implements表示:public class 类名 implements 接口名{}
  3. 接口不能实例化:参照多态的方式,通过实现类对象实例化,叫做接口多态
  4. 接口的实现类
    要么重写接口中所以抽象方法
    要么是抽象类
  • 接口的成员特点
  1. 成员变量
    只能是静态常量
    默认修饰符:public static final
  2. 构造方法
    接口没有构造方法,因为接口主要是对行为进行抽象。
    一个类如果没有父类,默认继承自Object类。
  3. 成员方法
    只能是抽象方法
    默认修饰符:public abstract

接口实例

  • 动物抽象父类
public abstract class Animal {
    //成员变量
    private String name;
    private int age;

    //构造方法
    public Animal() {
    }
    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    //成员方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

    public void eat(){
        System.out.println("动物要吃饭!");
    }
}
  • 行为接口
public interface Jumping {
    public abstract void jumpheight();
}

  • Cat类
public class Cat extends Animal implements Jumping{
    public Cat(String name, int age) {
        super(name, age);
    }
    @Override
    public void jumpheight() {
        System.out.println("小猫经过训练,学会跳高!");
    }

    @Override
    public void eat() {
        System.out.println("猫吃鱼!");
    }
}
  • 测试类
public class AnimalDemo {
    public static void main(String[] args) {
        Animal animal = new Cat();
        animal.setAge(18);
        animal.setName("加菲猫");
        System.out.println(animal.getName()+animal.getAge());
        animal.eat();
        //animal.jumpheight();报错因为父类中没有jumpheight方法

        Jumping j = new Cat();
        j.jumpheight();
        //j.eat();报错因为接口中没有eat方法

        Cat cat = new Cat();
        cat.setName("波斯猫");
        cat.setAge(18);
        cat.eat();
        cat.jumpheight();
    }
}

类与接口的关系

  • 类和类的关系
    继承关系,只能单继承,但是可以多层继承
  • 类和接口的关系
    实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口
  • 接口和接口的关系
    继承关系,可以单继承,也可以多继承

抽象类和接口的区别

  • 成员区别
    抽象类:变量,常量,构造方法,抽象方法,非抽象方法
    接口:静态常量,抽象方法
  • 关系区别
    类与类:继承,单继承
    类与接口:实现,可以单实现也可以多实现
    接口与接口:继承,单继承,多继承
  • 设计理念区别
    抽象类:对类抽象包括属性,行为
    接口:对行为抽象,主要是行为

相关文章

  • 2020-06-21

    2020-06-21 c8188374c45e 字数 199 · 阅读 0 2020-06-21 10:54 无题...

  • 2020-06-21接口

    接口 接口的特点 接口用关键字interface修饰:public interface 接口名{} 类实现接口用i...

  • 2020-06-22

    2020-06-21 2020-06-20 2020-06-19 2020-06-18 2020-06-16 20...

  • 2020-06-24

    2020-06-23 2020-06-22 2020-06-21 2020-06-20 2020-06-19 20...

  • 2020-06-23

    2020-06-22 2020-06-21 2020-06-20 2020-06-19 2020-06-18 20...

  • 夏至

    节令时间 2020-06-21 05:43:33 农历:五月(大) 初一 夏至 本年度第 10 个节气 ——— —...

  • 173 写下来有种神奇的力量

    #每日精进173/200 2020-06-21 写下来有种神奇的力量,不管是开心,难过,还是焦虑,恐惧,把情绪写下...

  • 1排队-从众心理的应用

    2020-06-21 常见不少成功的生意被当作营销案例作为教材,或者教育别人,或者当作知识点教给各种各...

  • 【周总结】第九期第06周07号-醒

    2020-06-21 【本周计划/总结】 一、职业发展 啊噢……翻开今天的周总结,回顾上一周发现自己的目标居然没有...

  • 2020-06-21 有好灯:都说今年是个保命年,好多人的做法是

    2020-06-21 有好灯:都说今年是个保命年,好多人的做法是“藏器于身,待时而动;有道则见,无道则隐。”

网友评论

    本文标题:2020-06-21接口

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