Interface 的本质用处

Java 中Interface的妙用:

当你创建一个类时,当中的功能可能现在无法进行编写(也即代码拥有为确定情况),此时,接口Interface可以起到重大用处。

具体做法就是用Interface预留一个该未确定功能接口,等待后来调用这个类的工程师自己实现这个接口功能。

例子:
要求:定义一个功能类:预留doFun()接口,但是doFun()里面要做些什么不确定。
public class InterfaceTest
{
    public Interface DoWhatYouDecide
    {
        void doWhat();
    }
    public void doFun(DoWhatYouDecide doWhatYouDecide)
    {
        doWhatYouDecide.doWhat();
    }
}
//后面的只要自己实例化 DoWhatYouDecide 这个接口就可以实现自己想要的doFun()功能了。
时间: 2024-11-03 21:59:10

Interface 的本质用处的相关文章

Laravel 服务容器 IoC(控制反转) 和 DI(依赖注入)

Laravel 服务容器 IoC(控制反转) 和 DI(依赖注入) IoC 容器, laravel 的核心 Laravel 的核心就是一个 IoC 容器,根据文档,称其为“服务容器”,顾名思义,该容器提供了整个框架中需要的一系列服务.作为初学者,很多人会在这一个概念上犯难,因此,我打算从一些基础的内容开始讲解,通过理解面向对象开发中依赖的产生和解决方法,来逐渐揭开“依赖注入”的面纱,逐渐理解这一神奇的设计理念. 本文一大半内容都是通过举例来让读者去理解什么是 IoC(控制反转) 和 DI(依赖注

【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-import.html#1.2.values方法的使用: Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由arthinking发表于4年前 | Java基础 | 暂无评论 |  被围观 8,332 views+ 1.枚举(Enum):1.1.枚举类型中的两个静态方法:1.2.values方法的使用:

laravel的启动过程解析

如果没有使用过类似Yii之类的框架,直接去看laravel,会有点一脸迷糊的感觉,起码我是这样的.laravel的启动过程,也是laravel的核心,对这个过程有一个了解,有助于得心应手的使用框架,希望能对大家有点帮助.提示:在此之前,最好看一下官方文档,大概知道laravel,再来看这个笔记,这样效果可能会好一点. 统一入口 laravel框架使用了统一入口,入口文件:/public/index.php <?php //自动加载文件设置 require __DIR__.'/../bootstr

laravel 学习笔记 —— 神奇的服务容器

转载自:https://www.insp.top/learn-laravel-container 容器,字面上理解就是装东西的东西.常见的变量.对象属性等都可以算是容器.一个容器能够装什么,全部取决于你对该容器的定义.当然,有这样一种容器,它存放的不是文本.数值,而是对象.对象的描述(类.接口)或者是提供对象的回调,通过这种容器,我们得以实现许多高级的功能,其中最常提到的,就是 “解耦” .“依赖注入(DI)”.本文就从这里开始. IoC 容器, laravel 的核心 Laravel 的核心就

laravel启动过程简单解析

:first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:3px}iframe{border:0}figure{-webkit-margin-before:0;-webkit-margin-after:0;-webkit-margin-start:0;-webkit-margin-end:0}kbd{border:1px solid #aaa;-moz-bord

重拾Java回忆录(五):Java05接口的使用

接口的使用 接口(Interface):从本质上说接口是一种特殊的抽象类 特殊点 接口的定义 1.所有的方法应该是public (而且是abstract的) 2.所有的属性应该是publicstatic final 静态常量 3.接口之间可以继承 使用extends (允许多重继承,多个之间 , 间隔) 4.接口中不能有构造方法,不能使用new ,没有main方法 接口的实现 关键字:Implements 1.接口的实现一定是通过类完成的 2.实现接口的类,一定要完成接口中的抽象方法,否则实现类

laravel的启动过程---摘自网络博客个人学习之用

如果没有使用过类似Yii之类的框架,直接去看laravel,会有点一脸迷糊的感觉,起码我是这样的.laravel的启动过程,也是laravel的核心,对这个过程有一个了解,有助于得心应手的使用框架,希望能对大家有点帮助.提示:在此之前,最好看一下官方文档,大概知道laravel,再来看这个笔记,这样效果可能会好一点. 统一入口 laravel框架使用了统一入口,入口文件:/public/index.php <?php //自动加载文件设置 require __DIR__.'/../bootstr

面向对象、类与对象、成员与局部变量、封装、private、构造函数、this、static、extends、super、final、abstract、interface、多态、内部类、异常【5】

  本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ 本文版权归作者和博客园共有,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接 ,否则保留追究法律责任的权利. 面向对象概念 理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 •强调的是功能行为 面向对象 •将功能封装进对象,强调具备了功能的对象. 面向对象是基于面向过程的. 面向过程   在一个结构体中定义窗口的大小

Java编程的逻辑 (19) - 接口的本质

数据类型的局限 之前我们一直在说,程序主要就是数据以及对数据的操作,而为了方便操作数据,高级语言引入了数据类型的概念,Java定义了八种基本数据类型,而类相当于是自定义数据类型,通过类的组合和继承可以表示和操作各种事物或者说对象. 但,这种只是将对象看做属于某种数据类型,并按该类型进行操作,在一些情况下,并不能反映对象以及对对象操作的本质. 为什么这么说呢?很多时候,我们实际上关心的,并不是对象的类型,而是对象的能力,只要能提供这个能力,类型并不重要.我们来看一些生活中的例子. 要拍个照片,很多