Java空接口以及其接口方法讨论_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java空接口以及其接口方法讨论

Java空接口以及其接口方法讨论

 2011/12/21 9:09:59  IT-攻城师  http://dylanxu.iteye.com  我要评论(0)
  • 摘要:JDK中定义的空接口importjava.io.Serializable;importjava.lang.annotation.Annotation;importjava.rmi.Remote;importjava.util.RandomAccess;个人理解为:空接口仅做标记使用,无其他含义Spring中也有大量空接口列出部分如下:publicinterfaceSpringProxy{}publicinterfaceRawTargetAccess{
  • 标签:方法 Java 讨论 接口

JDK中定义的空接口


import java.io.Serializable;

import java.lang.annotation.Annotation;

import java.rmi.Remote;

import java.util.RandomAccess;

个人理解为:空接口仅做标记使用,无其他含义



Spring中也有大量空接口 列出部分如下:

public interface SpringProxy {}
public interface RawTargetAccess {}
public interface ThrowsAdvice extends AfterAdvice {}
public interface AfterAdvice extends Advice {}
public interface BeforeAdvice extends Advice {}
?

? ? 开发控件时,常常会遇到一些需要继承的接口,但却不需要实现什么方法,因为这个接口是空的。

  接口只包含只有方法,属性,索引器(有参属性),事件四种成员。接口可以提供一组行为和契约,当继承一个接口时,你需要实现实现接口内的方法。

  没有方法的接口,却也可能有属性,索引器,事件。

  这里不讨论我们在开发的时候是否需要使用空接口。我只想讨论一下,这些空接口是如何起作用的。

  空接口的作用一般情况下就是标志性,也就是实现了这种接口的都是表示他们都是某种类型的class,就像Serializable,他表示实现了该接口的类型都是可以被持久化和可以做传输的。这是一种能力的象征。INamingContainer就是其中的典型。

  同样在控件开发中,有的接口的实现方法仅仅从代码上看似乎并不合逻辑。

  比如常用的:IPostBackDataHandler接口

  这个接口中有两个方法bool LoadPostData();void RaisePostDataChangedEvent();

  LoadPostData()用来判断数据是否发生改变,返回值为bool。但你一般是看不到有代码去调用RaisePostDataChangedEvent();

  因为这部分的工作是框架来完成的。

空接口以及其接口方法讨论

  所以我们猜想在继承类空的接口后,虽然你所能看到代码上并没有什么改变,但相对于框架来说这个继承空接口的类被赋予了某些特性。

  在运行和使用的时候,框架会帮我们做很多我们看不到的事情。

?

上一篇: line线 下一篇: java spi机制
发表评论
用户名: 匿名