博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从零开始学java(接口)
阅读量:6569 次
发布时间:2019-06-24

本文共 1503 字,大约阅读时间需要 5 分钟。

接口

  前面讲到了类的继承与多态,其实接口也很类似与类的继承与多态,不同于类,接口是可以多个实现的,如果把类与类继承比喻为父与子,那么接口就是实现类的一种能力。比如,一个人具有吃饭的能力,我们写一吃饭的接口,这个接口只要是人这个类派生出的子类都可以去实现它。所以一个子类只能继承一个父类,但是一个类可以实现多个接口。来看代码。

/** * 定义一个Eat接口  * @author GMZ * 定义接口的关键字为 interface */public interface Eat {        public void eat();}
/** * 定义一个Run接口  * @author GMZ * 定义接口的关键字为 interface */public interface Run {        public void run();}
public abstract class Parent implements Eat,Run {    protected String name;    public Parent(String name) {        this.name = name;    }}
/** * 写一个实现类 继承Parent * @author GMZ * 因为Parent类implements接口所以,实现类必须实现接口的方法 */public class Lily extends Parent {        public Lily(String name) {        super(name);    }    @Override    public void eat() {        System.out.println(super.name+"-----------在吃饭!");    }    @Override    public void run() {        System.out.println(super.name+"-----------在疯跑!");    }}
/** * 写一个做事的代理类 * @author GMZ * */public class DoProxy {    public static void run(Parent parent){        parent.run();    }        public static void eat(Parent parent){        parent.eat();    }}
public static void main(String[] args) {                DoProxy.run(new Lily("lily"));        DoProxy.eat(new Lily("lily"));    }

接口有几个特点:

  1.接口不可以被实例化

  2.实现类必须实现接口的所有方法,否则必须将其定义为抽象类(如上图代码)。

  3.实现类可以实现多个接口

  4.接口中的变量都是静态常量

  5.接口中的方法都是全局抽象方法,接口中没有构造方法

接口的总结:

  接口表示一种约定,接口表示一种能力,接口体现了约定和实现相分离的原则。

  抽象类利于代码的复用,接口利于代码的维护

  通过面向接口编程:可以降低代码之间的耦合(类的继承是一种强耦合),提高代码的可扩展性和维护性

转载于:https://www.cnblogs.com/Cgosling/p/9943804.html

你可能感兴趣的文章
Haproxy
查看>>
性能调优之Java系统级性能监控及优化
查看>>
SylixOS内核打印调试方法
查看>>
轻量级的jQuery表单验证插件 - HAPPY.js
查看>>
JAVA简单介绍2
查看>>
Spring MVC 框架搭建及详解
查看>>
Android startActivityForResult
查看>>
Hibernate 乐观锁和悲观锁
查看>>
C语言 学生宿舍管理系统
查看>>
在 Linux 下忘记 mysql root 密码的解决方法
查看>>
python-mysql的安装和基本操作
查看>>
snappy 在linux安装及使用
查看>>
回收 PV - 每天5分钟玩转 Docker 容器技术(152)
查看>>
[笔记] consul用grpc做健康检查注意点
查看>>
php采集 纠正一下
查看>>
phalcon遇到的那些坑
查看>>
华为领跑高端市场背后:聚焦与创新连接未来
查看>>
Java类的连接与初始化 (及2013阿里初始化笔试题解析)
查看>>
unity优化笔记
查看>>
haproxy+keepalived应用实战
查看>>