美文网首页
Java之初入接口

Java之初入接口

作者: 无量儿 | 来源:发表于2018-09-18 20:02 被阅读0次
1. 接口的概述

    以猫狗案例举栗子。我们想想狗一般就是看门,猫一般就是作为宠物了。但是,现在有很多的驯养员可以训练出:猫钻火圈,狗跳高,狗做计算等。而这些额外的动作,并不是所有猫或者狗一开始就具备的,这应该属于经过特殊的培训训练出来的。所以,这些额外的动作定义到动物父类中就不合适,也不适合直接定义到猫或狗的子类中,因为只有部分猫狗具备这些功能。所以,为了体现事物功能的扩展性,Java中就提供了接口来定义这些额外功能,并不给出具体实现,将来哪些猫狗需要被训练,只需要这部分猫狗把这些额外功能实现即可。

2. 接口的好处:通用性,隔离性
3. 接口的基本定义格式:
public interface 接口名称{
    //...
}

接口当中可以包含的组成部分有:

  • 抽象方法(核心)
  • 常量
  • 默认方法(Java 8)
  • 静态方法(Java 8)
  • 私有方法(Java 9)
4. 如何定义一个抽象方法:
public abstract 返回值类型 方法名称(参数类型 参数名称);

注意:

  • 接口中的抽象方法,修饰符可以省略不写,默认就是:public abstract
  • 接口中的抽象方法,修饰符如果写:可以省略publicabstract
  • 抽象方法只有方法头,不能有方法体大括号。

举例如下:

public interface Animal {
     public abstract void eat();
     public void play();
     abstract void fight();
     void sleep();
}
5. 定义实现类格式:
public class 实现类名称 implements 接口名称{
    // 一定要覆盖重写所有的抽象方法
}

什么是覆盖重写(Override)抽象方法?

  • 将接口当中的抽象方法抄写过来
  • 去掉 abstract 关键字(public 不可以去掉!!!)
  • 写上大括号方法体

举例如下:

public class Cat implements Animal {
     public void eat() {
           System.out.println("猫吃饭");
     }
     public void play() {
           System.out.println("猫玩耍");
     }
     public void fight() {
           System.out.println("猫打架");
     }
     public void sleep() {
           System.out.println("猫睡觉。");
     }
     public void catchMouse() {
           System.out.println("猫抓老鼠");
     }
}
6. 如何使用接口与实现类

创建:
接口名称 引用名 = new 实现类名称();
调用:
引用名.抽象方法名(参数);

注意:

  • 左边是接口类型,那么只能调用接口当中定义好的内容,不能调用右侧实现类当中特有的内容。(接口隔离)
  • 调用的时候看左边,运行的时候看右边。

相关文章

  • Java之初入接口

    1. 接口的概述     以猫狗案例举栗子。我们想想狗一般就是看门,猫一般就是作为宠物了。但是,现在有很多的驯养员...

  • Java接口

    Java基础学习---Java接口 最近新入职,公司没有给安排活,给了充足的时间去重新梳理Java基础的知识,趁此...

  • android JNI NDK入门

    1、JNI(Java Native Interface) Java本地接口,又叫Java原生接口。它允许Java调...

  • 深入理解Java接口

    从java接口是什么到为什么,理解java接口,主要解决三个问题 1.java接口是什么2.java接口为什么3....

  • java8-函数式异步编程

    Future 接口 Future接口是Java5引入的,提供了异步执行任务的能力 对于结果的获取却是很不方便,只能...

  • Java SE 3

    Java SE 1.Java泛型机制 泛型是Java SE1.5引入的特性,泛型的本质是参数化类型。在类、接口和方...

  • 认识java(一)

    原创 java输入输出 java方法 java常用容器类和接口 外部排序接口:compatator内部排序接口:c...

  • JNI调用java自定义类

    一,注册java方法和jni方法相对应 二,通过接口传递java类java定义接口 c++定义接口 三,java层...

  • Eclipseji编辑器——创建java接口

    打开新建 Java 接口向导 新建 Java 接口向导可以创建新的 Java 接口。打开向导的方式有: 点击 Fi...

  • JNI&NDK

    JNI: Java Native Interface (Java本地接口,本地接口即C和C++开发的接口) → 调...

网友评论

      本文标题:Java之初入接口

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