我所理解的interface与class
2016-03-14 21:01
197 查看
Java之所以具有强大的面向对象能力,是因为其具有① 类(class) 和② 接口 (interface)。有了这两种机制,我们(impelmentors)就可以进行面向对象设计。
类(class)是从一些列相关对象中抽象出来的概念,反应的是事物的内部共性。
接口(interface)则是为了满足外部调用定义的一个功能约定,反映的是事物的外部特性。
如果把类看作事物的话,由于事物=事+物,那么接口就是事了。所以有种说法是接口是特殊的抽象类。接口中只是定义了一些空的概念,并没有描述这些概念是如何一步步实现的。再比如看下面例子:
话不多说,让我们看看两者的代码形式:
interface定义:
pubic interface Student{
void learning();//这里不需写访问权限,learning()就自动成为了public void learning()
int num = 10;//这里的int很自然的变成了public static final int num;
}
interface实现:
//定义测试类StudentTest
pubic interface StudentTest{
public static void main(String[] args);
Student1 stu = new Student1();
stu.learning();
}
//定义接口
interface Student{
void learning();
int num = 10;
}
//实现接口
class Student1 implements Student{
public void learning(){
System.out.println("学生在吃饭中。。。。");
}
}
2016/03/14更新
类(class)是从一些列相关对象中抽象出来的概念,反应的是事物的内部共性。
接口(interface)则是为了满足外部调用定义的一个功能约定,反映的是事物的外部特性。
如果把类看作事物的话,由于事物=事+物,那么接口就是事了。所以有种说法是接口是特殊的抽象类。接口中只是定义了一些空的概念,并没有描述这些概念是如何一步步实现的。再比如看下面例子:
话不多说,让我们看看两者的代码形式:
interface定义:
pubic interface Student{
void learning();//这里不需写访问权限,learning()就自动成为了public void learning()
int num = 10;//这里的int很自然的变成了public static final int num;
}
interface实现:
//定义测试类StudentTest
pubic interface StudentTest{
public static void main(String[] args);
Student1 stu = new Student1();
stu.learning();
}
//定义接口
interface Student{
void learning();
int num = 10;
}
//实现接口
class Student1 implements Student{
public void learning(){
System.out.println("学生在吃饭中。。。。");
}
}
2016/03/14更新
相关文章推荐
- 蘑菇街2016研发工程师_回文串
- 2015级C++第3周实践项目
- Python自然语言处理-系列一
- 地理数据库本身不能加密
- 修改 JVM 输出数组
- procheck安装
- Linux文件系统之新建分区(fdisk命令)
- [BZOJ 1797][BZOJ 3258]最小割的唯一性判定
- 异常解析 转载
- UVa1601 - The Morning after Halloween [单向bfs]
- Linux 截图工具-shutter
- case when else end用法
- 蘑菇街2016研发工程师_投篮游戏
- android异步加载遇到的问题
- HDU 4341
- CentOs安装JDK过程中的小坑
- C语言中的可变参数函数 三个点“…” http://blog.chinaunix.net/uid-7283526-id-2198861.html
- 蘑菇街2016研发工程师_聊天
- ACM-最短路(SPFA,Dijkstra,Floyd)之最短路——hdu2544
- Spark RDD 的创建 & Accumulators