JAVA 类和接口介绍
来源:互联网 发布:免费英语口语软件app 编辑:程序博客网 时间:2024/06/06 03:59
因为我个人有体会了一些东东
也许提出来给大家参考看看(观念是一样的)
我在这里再举个例子,或许会比较好了解
首先,我将会定义一个interface与一些class
interface 汽车操作接口{
void 油门(){}
void 剎车(){}
void 方向盘(){}
}
以下是一些车子的class,这些车子都implements汽车操作接口
因为每辆车的结构不同,所以对于汽车的操作接口的设计方法也不同
虽然所要达到的功能名称都相同,但我们还是要一一的设计
class Ford_Escape implements 汽车操作接口{
void 油门(){
//针对Escape详细的加油方法
}
void 剎车(){
//针对Escape详细的剎车方法
}
void 方向盘(){
//针对Escape详细的转动方向盘方法
}
}
class Honda_CRV implements 汽车操作接口{
void 油门(){
//针对CRV详细的加油方法
}
void 剎车(){
//针对CRV详细的剎车方法
}
void 方向盘(){
//针对CRV详细的转动方向盘方法
}
}
class NISSAN_X_TRAIL implements 汽车操作接口{
void 油门(){
//针对X_TRAIL详细的加油方法
}
void 剎车(){
//针对X_TRAIL详细的剎车方法
}
void 方向盘(){
//针对X_TRAIL详细的转动方向盘方法
}
}
现在我再定义一个Anki的class //anki是一个人,他会开车。
public class Anki{
//假设anki的开车方法如下
//传人的参数是 汽车操作作面
//也就是说,如果你要叫anki开车,只要你把有implements汽车操作接口
//的车给我,我就能够开这辆车
public void 开车(汽车操作作面 car_interface){
car_interface.油门();
car_interface.方向盘();
car_interface.剎车();
}
public static void main(String [] args){
Anki anki=new Anki();
anki.开车(new Honda_CRV());
anki.开车(new Ford_Escape());
anki.开车(new NISSAN_X_TRAIL());
}
}
从上面的例子来看,虽然每辆车都不一样,但是它个都有汽车的操作接口
不管你给anki的是什么车车,只要有了这个接口(汽车操作接口),
anki都能把车车开得很顺畅(也就是能够让车子行驶)
那在Java里有没有例子呢?
有的,以下就是一个很好的例子:
Shape是一个interface
而目前有implements的class有Area, CubicCurve2D, GeneralPath, Line2D, Polygon, QuadCurve2D, Rectangle, RectangularShape
从字面上的意思来看,上面的class都是一些有implements Shape这个interface
在Graphics2D这个class有这么一个method:
abstract void draw(Shape s)
也就是说只要你给我一个Shape不管是什么图形我都能够将它画出,
而不需要管这些Shape是什么样的class。
换句话说,只要是有实做出Shape这个interface的class我都能多画出。
这样是不是非常方便呢?
- JAVA 类和接口介绍
- java中接口和抽象类的区别和介绍
- 简单介绍java抽象类和接口的区别
- Java类和接口
- java Future 接口介绍
- JAVA爱好者---------------接口介绍
- java接口的介绍
- java接口介绍
- java Future 接口介绍
- java Future 接口介绍
- java Future 接口介绍
- java Future 接口介绍
- java Future 接口介绍
- java Future 接口介绍
- java Future 接口介绍
- java Future 接口介绍
- JAVA接口介绍
- java接口interface介绍
- 如何成为优秀的程序员?(三)
- 经典收藏:网络命令行的使用和范例(一)
- 经典收藏:网络命令行的使用和范例(二)
- 给C++初学者的50个忠告(转)
- 经典收藏:网络命令行的使用和范例(三)
- JAVA 类和接口介绍
- Hibernate学习资料---大会菜(方便公司内同事下载,公网用户不可使用!)
- 经典收藏:网络命令行的使用和范例(四)
- 经典收藏:网络命令行的使用和范例(五)
- 随笔
- 经典收藏:网络命令行的使用和范例(六)
- 经典收藏:网络命令行的使用和范例(七)
- HP笔试有感
- 经典收藏:网络命令行的使用和范例(八)