JAVA interface 和 abstract 类
2015-03-07 20:05
267 查看
Interface:
interface是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,以封装一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。接口不能直接实例化,即ICount
ic=new iCount()是错的。接口不能包含成员的任何代码,只定义成员本身。接口成员的具体代码由实现接口的类提供。接口使用interface关键字进行声明。
Abstract类:
在abstract class方式中,Demo可以有自己的数据成员,也可以有非abstract的成员方法,而在interface方式的实现中,Demo只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。
abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。
abstract class在Java语言中体现了一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is a"关系,即父类和派生类在概念本质上应该是相同的。 对于interface 来说则不然,并不要求interface的实现者和interface定义在概念本质上是一致的,仅仅是实现了interface定义的契约(功能)而已。
interface是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,以封装一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。接口不能直接实例化,即ICount
ic=new iCount()是错的。接口不能包含成员的任何代码,只定义成员本身。接口成员的具体代码由实现接口的类提供。接口使用interface关键字进行声明。
Abstract类:
语法定义层
在abstract class方式中,Demo可以有自己的数据成员,也可以有非abstract的成员方法,而在interface方式的实现中,Demo只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。
编程层面
abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。
设计理念层面
abstract class在Java语言中体现了一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is a"关系,即父类和派生类在概念本质上应该是相同的。 对于interface 来说则不然,并不要求interface的实现者和interface定义在概念本质上是一致的,仅仅是实现了interface定义的契约(功能)而已。
相关文章推荐
- java abstract vs interface
- Java中abstract和interface的区别
- Java中abstract和interface的区别
- java 基础知识学习 关于abstract interface final
- java中abstract与interface区别
- Java 学习笔记 (3) -抽象类 abstract 接口 interface 内部类 inner class 继承 extends 实现 implements 包 package
- Java中abstract和interface的区别
- difference between Interface and abstract class in Java
- java interface和abstract的区别
- 总结下java中的abstract,interface,final,static
- 总结下java中abstract,interface,final,static,加深理解
- 引用 java中abstract,interface,final,static,加深理解
- JAVA中abstract,interface,final,static语法
- Java Abstract class and Interface
- 引用 java中abstract,interface,final,static,加深理解
- Java中abstract和interface的区别
- Java 语法: abstract interface和interface的区别
- java abstract and interface
- Java中的interface和abstract
- 总结下java中abstract,interface,final,static,加深理解