像接口和继承都是可以定义抽象类,接口是必须定义抽象类
    接口其实也是一种父类(干爹),实现类是子类
    定义的接口默认规范:所定义的方法是抽象方法(公开的,给别人用),都是默认常量
    image.png_ 声明了一个接口:体现一种规范,规范一定是公开的; 所以都是public static final定义常量的关键字可以不写
    *
    定义抽象方法也可以不写(public abstract ) 可以不写,所写的方法都是抽象的
    **
    这里的规范:就是约定别人一定要干某件事情(一定要抽象,一定要常量)**

    1. package com.itheima.d10_interface;
    2. /**
    3. * 声明了一个接口:体现一种规范,规范一定是公开的; 所以都是public static final定义常量的关键字可以不写
    4. * 定义抽象方法也可以不写(public abstract ) 可以不写,所写的方法都是抽象的
    5. * 这里的规范:就是约定别人一定要干某件事情(一定要抽象,一定要常量)
    6. */
    7. public interface InterfaceDemo { // 定义接口是interface ,类是class
    8. // 目标:接口中得成分特点:JDK 8 之前接口中只能有抽象方法和常量
    9. // 1. 常量
    10. // 注意:由于接口体现规范思想,规范默认都是公开的,所以代码层面,public static final 可以省略不写
    11. String SCHOOL_NAME = "黑马程序员"; // 接口有默认规范
    12. // public static final String SCHOOL_NAME = "黑马程序员"; // 这是一个常量,定义常量名要全大写
    13. // 抽象方法
    14. // 注意:由于接口体现规范思想,规范默认都是公开的,所以代码层面,public static final 可以省略不写
    15. void run();
    16. // public abstract void run();
    17. void eat();
    18. // public abstract void eat();
    19. }