美文网首页
Java中的接口对象

Java中的接口对象

作者: 千若逸 | 来源:发表于2016-05-27 16:16 被阅读462次

最近在看一些Java代码,同时也在边看边学。看到这个标题你也许很奇怪,Java中何来接口对象?其实它是我造的一个词,因为我看到Java中可以把接口作为类型来使用,看上去跟一个普通的对象声明类似。

比如,定义了下面的一个Sourcable接口:

package pattern.decorator;  
  
public interface Sourcable {  
    public void operation();  
  
} 

下面代码中的Sourcable sourcable声明就是我所说的接口对象:

package pattern.decorator;  
  
public class Decorator1 implements Sourcable {  
    private Sourcable sourcable;  
    public Decorator1(Sourcable sourcable){  
        super();  
        this.sourcable=sourcable;  
    }  
    public void operation() {  
        System.out.println("第一个装饰器前");  
        sourcable.operation();  
        System.out.println("第一个装饰器后");  
  
    }  
  
} 

作为一个iOSer来说,刚开始看到这个还是挺疑惑的,怎么会有一个接口对象呢?
那么对于sourcable应该是怎么赋值呢?答案是用实现了Sourcable接口的类的实例对象赋值给它。

现在懂了,Sourcable sourcable;不就和Objective-C中的这个代码等效嘛:

id<Sourcable> sourcable;

意即,声明了一个遵守Sourcable协议的任意类型的实例对象sourcable,只要某个类遵守了Sourcable协议,它的实例对象就可以赋值给sourcable。

可能是先入为主,我觉得Objective-C中的这种表达更易于理解。另外,也可以看出多掌握几门语言没坏处,是可以触类旁通的。

相关文章

  • Comparable与Comparator的区别

    Comparable接口: 位于java.lang包下。在java中实现了该接口的对象可以排序。重写该接口中...

  • Java中的接口对象

    最近在看一些Java代码,同时也在边看边学。看到这个标题你也许很奇怪,Java中何来接口对象?其实它是我造的一个词...

  • <Java设计模式>——接口隔离原则(ISP)VIP

    接口隔离的接口是什么 实例接口:在Java中申明的一个类,使用new关键字创建的对象。 类接口:Java中使用in...

  • Java动态代理

    Java动态代理篇 在Java中,代理对象往往实现和目标对象一致的接口,并作为目标对象的代替,接受来自其他的调用,...

  • Displayer

    BitmapDisplayer.java在ImageAware中显示 bitmap 对象的接口。可在实现中对 bi...

  • JAVA

    JAVA java中接口与抽象类的区别? 简述jvm的内存布局? java对象创建的过程? java重载与重写的区...

  • ·接口

    第03天java面向对象 今日内容介绍 ·接口 ·匿名对象&final ·多态 ·接口 1.接口的概述 接口是功能...

  • Java实现一个简单的缓存

    创建缓存对象EntityCache.java 定义缓存操作接口,ICacheManager.java 实现接口IC...

  • 原型模式——对象clone

    Java中对象的clone可以通过Object中的clone()来实现,步骤如下:1、实现cloneable接口(...

  • java抽象类和接口小记

    Java抽象类和接口小记 Java抽象类和接口实现了java的多态.多态是面向对象程序语言的核心,在项目开发过程中...

网友评论

      本文标题:Java中的接口对象

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