Java 接口

接口的基础语法:
  1.接口也是一种引用数据类型。
  2.接口是完全抽象的。
  3.接口怎么定义,语法是什么呢?
    [修饰符列表] interface 接口名字 { }
  4.接口支持多继承。
  5.接口中只包含两部分内容,一部分是常量,一部分是抽象方法。
  6.接口中所有的元素都是public修饰的(也就是都是公开的)。
  7.接口中的抽象方法定义时,public abstract修饰符是可以省略的。
  8.接口中的方法都是抽象方法,所以接口中的方法不能有方法体。
  9.接口中的常量 public static final 可以省略。
  10.当一个非抽象的类实现接口的话,必须将接口中的所有方法全部实现(覆盖、重写)
  11.一个类可以同时实现多个接口。
    这种机制弥补了java中单继承带来的缺陷。
  12.如果继承和实现都存在的话继承在前,接口在后
    extends在前面,
    implements在后面
  13.使用接口,在写代码的时候,可以使用多态(父类型引用指向子类型对象)。
 
  接口在开发中应用:
    接口是完全抽象的;
      要求面向接口编程;
      有了接口,就有了扩展力,可插拔,扩展力强
来一个例子:
  
package com.advancedlearning.Test01;
//定义一个接口,名字是Action
public interface Action {
//    飞的动作方法
    void fiy();
//    游泳的动作方法
    void swim();
}

 

package com.advancedlearning.Test01;

//子类鸟类实现父类接口
public class Bird implements Action{

    // 重新父类接口中的飞的方法
    @Override
    public void fiy() {
        System.out.println("小鸟在天空飞翔");
    }

    //重写父类接口中的游泳的方法
    @Override
    public void swim() {
        System.out.println("小鸟会游泳?");
    }
}

 

package com.advancedlearning.Test01;

public class Test{
    public static void main(String[] args) {

        //父类型引用指向子类型对象,实例化一只鸟,这里是多态的用法
         Action b =new Bird();

         //调用子类型对象的方法
         b.fiy();
         b.swim();
    }
}

 

类型与类型之间的关系(记住)
  is a 、has a、 like a
 
is a:  
  Cat is a Animal (喵喵是一个动物)
  is a 凡是满足这个的就是表示继承关系
has a :
  I has a pen(我有一只笔)
  凡是满足这个的就表示关联关系,关联关系一般以“属性”形式存在
like a:
  Cooker like a FoodMenu(厨师像一个菜单一样 )
  凡是满足这个关系的就表示“实现关系”
  通常是:类实现接口
 
  ps: 接口在jdk1.8之后,可以使用static和default两个关键字修饰方法
posted @ 2021-11-02 18:56  程序员hg  阅读(58)  评论(0编辑  收藏  举报