Interface例子
来源:互联网 发布:中国2016年gdp数据 编辑:程序博客网 时间:2024/04/28 08:50
例子1:
分别是CAR.java,BigCar.java,TestCar.java,CarInterface.java,从别人网页上学习,自己心得。
CAR.java:
package com.su.callback;
publicinterface CAR {
void start();
void stop();
}
publicinterface CAR {
void start();
void stop();
}
声明一个接口,不实现方法,只声明方法。抽口不能实例化。
BigCar.java:
代码
package com.su.callback;
publicclass BigCar implements CAR {
@Override
publicvoid start() {
// TODO Auto-generated method stub
System.out.println("bigcar start...");
}
@Override
publicvoid stop() {
// TODO Auto-generated method stub
System.out.println("bigcar stop!");
}
}
publicclass BigCar implements CAR {
@Override
publicvoid start() {
// TODO Auto-generated method stub
System.out.println("bigcar start...");
}
@Override
publicvoid stop() {
// TODO Auto-generated method stub
System.out.println("bigcar stop!");
}
}
用BigCar类实现接口CAR,实现它的方法,也就是写程序结构体。BigCar是能够实例化的,BigCar的对象是Car型的。当你需要调用接口
CAR的方法的时候,需要用CAR的对象来调用CAR的方法,但是CAR又不能实例化,我们就可以用实现了CAR的BigCar的对象来调用CAR的方法。
TestCar.java
package com.su.callback;
publicclass TestCar {
publicvoid operCar(CAR c)
{
c.start();
c.stop();
}
}
publicclass TestCar {
publicvoid operCar(CAR c)
{
c.start();
c.stop();
}
}
用opeCar方法调用Car的方法。
TestInterface.java
代码
package com.su.callback;
publicclass TestInterface {
publicstaticvoid main(String[] args)
{
TestCar tc=new TestCar();
BigCar bc =new BigCar();
tc.operCar(bc);
}
}
publicclass TestInterface {
publicstaticvoid main(String[] args)
{
TestCar tc=new TestCar();
BigCar bc =new BigCar();
tc.operCar(bc);
}
}
这个例子中,调用operCar方法,需要传实参进去,实参需要是一个对象,对象是BigCar(实现了接口的类)的实例化对象。
输出结果:
bigcar start...
bigcar stop!
总结:当我们调用接口A的方法:Amethod()的时候,通过调用以接口为参数的函数:b(A a) 来调用接口的函数Amethod(),要想调用b,需要传实参进去。
- Interface例子
- go interface 例子
- 不用interface builder开发的例子
- 一个关于USB Interface的例子
- netsh interface portproxy的一个简单例子
- 面向对象(接口interface例子代码解析)
- 粗浅例子阐释代码的艺术--接口【Interface】
- Golang interface{} 作为函数参数和函数返回值例子
- Interface
- interface
- interface
- interface
- interface
- interface
- @interface
- Interface
- @interface
- Interface
- cocos2d-x教程之CCNode(5)
- 新浪微博Android客户端学习记录一:完成Logo界面
- [互联网面试笔试汇总C/C++-15] 判断一棵二叉树是否是完全搜索树-微策略
- cocos2d-x 贪吃蛇例子 附demo
- android ListView的上部下拉刷新下部点击加载更多具体实现及拓展
- Interface例子
- Mina client客户端编写
- uIP主动发送数据的方法
- 虚拟机问题 vmware workstation无法恢复错误:(vmui)
- 探究streambuf
- 暂时规规矩矩用C
- leetcode:Permutations II (序列所有无重复排列)【面试算法题】
- 20个经典Android游戏源码下载地址(持续更新~)
- iPhone UITableViewCell如何滚动到视图顶端