J2SE基础之面向对象研究
本文为mercyblitz个人原创,不能用于商业行为,转载请申明出处。
-接口
我们在代码设计中经常会遇到接口,面向接口编程,其实Java恰恰是面向接口编程的语言。(也许会引起争议,欢迎辩论)
一、为什么要用到接口:
前面我提到了Java是面向接口的编程语言,可能你会说我的代码都在我的类中,很少会用到接口,但是当我们设计一些类的时候,我们不能只着眼目前的需求,必须照顾到以后的,为了容易维护,重用性高,我们在面向对象的基础上,我们经常使用到多态性。这里就涉及到接口编程。接口就是比抽象类更抽象的“类”。
二、定义接口和一些规则(不是全部):
1)定义:
public interface IntferfaceForSomething{}
或者 public abstract interface IntferfaceForSomething{}
2)规则:
1.方法:
假设定义这样的方法void doSomeThing(),实际上它和public abstract void doSomeThing();
自然这里不能加两中修饰符(modifier),final和static,为什么?
原因很简单,final不允许覆盖(Override),显然接口方法的目的就是要实现它。
而static修饰非native方法的时候一定有方法体(Method Body),所以这里肯定 不能作为修饰符。
2.字段:
字段默认情况的修饰符是public static final,所以你必须一此定义它。
public static final int NAME=0;
插句话,这里有个static final 字段命名规则,所以的字母大写。
3)意义:
我们发现接口好像没有什么“作用”,你讲对了。你可能会那么不正好和你前面讲矛盾吗?
接口的意义就是定义类似的业务逻辑定义一个标准(规范),在具体类中怎么实 现它不管。所以JDK中有很多接口的定义,比如java.util.List,对应的具体类用
java.util.ArrayList、java.util.LinkedList等等,这些具体类中都有List 定义的方法,只不过为了不同的业务实现的版本不同罢了!这有说明了好的代码设计就 是一种面向接口的编程。Java的强类型的面向对象就体现在这里。
(下篇:JDK5新特征-枚举)
一共有 0 条评论