Java的接口,java接口的使用
本篇文章给大家带来了关于爪哇的相关知识,其中主要介绍了关于接口的相关问题,包括了接口的引入、使用以及代理模式的应用,还有接口和抽象类之间的对比等内容,下面一起来看一下,希望对大家有帮助。
写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用
一、引入
二、理解
三、使用
类子类扩展超类实现接口A{ }代码演示:
公共接口运行程序{
int ID=1;//=public static final int ID=1;
void start();//=公共抽象void start();
public void run();//=公共抽象空运行();
void stop();//=公共抽象void stop();}代码演示1:
public void myMethod(){
方法三();//调用自己定义的重写的方法
超级棒。方法三();//调用的是父类中声明的
//调用接口中的默认方法
比较a。超级棒。方法三();
compareb。超级棒。方法三();
}代码演示2:
子接口{//孝顺的
默认void help() {
System.out.println(老妈,我来救你了);
} }界面痴情{//痴情的
默认void help() {
System.out.println(媳妇,别怕,我来了);
} }类父{
公共空的帮助(){
System.out.println(儿子,就我媳妇!);
} }类男子延伸父亲实现孝顺,痴情{
@覆盖
公共空的帮助(){
System.out.println(我该就谁呢?);
补贴。超级棒。help();
痴情。超级棒。help();
}}代码演示:
/*
实现类子适配器必须给出接口子接口以及父接口我的界面
中所有方法的实现。否则,子适配器仍需声明为摘要的。
*/interface MyInterface{
String s=" MyInterface
公共void absm 1();
}接口子接口扩展我的界面{
公共void absm 2();
}公共类子适配器实现子接口{
public void absm 1(){ system。出去。println(" absm 1 ");}
public void absm 2(){ system。出去。println(" absm 2 ");}}代码演示:
接口runner { public void run();}界面游泳者{公共双人游();}类创建者{ public int eat(){…} }类人扩展创造者实现跑步者、游泳者{
公共void run() {……}
公共双人游泳(){……}
public int eat() {……}}代码演示:
公共类测试{
公共静态void main(String args[]){
Test t=new Test();
男人m=新人();
温度m1(米);
吨平方米(米);
吨立方米(米);
}
公共字符串m1(Runner f){ f . run();}
公共空间m2(游泳者s){ s . swim();}
公共空间m3(创建者a){ a . eat();}}代码演示:
公共类USBTest {
公共静态void main(String[] args) {
计算机通讯=新计算机();
//1.创建了接口的非匿名实现类的非匿名对象
Flash Flash=new Flash();
com。传输数据(闪存);
//2.创建了接口的非匿名实现类的匿名对象
com。传输数据(新打印机());
//3.创建了接口的匿名实现类的非匿名对象
USB电话=新USB(){
@覆盖
public void start() {
System.out.println(手机开始工作);
}
@覆盖
公共无效站点(){
System.out.println(手机结束工作);
}
};
com.transferData(电话);
//4.创建了接口的匿名实现类的匿名对象
com.transferData(新USB(){
@覆盖
public void start() {
System.out.println(mp3开始工作);
}
@覆盖
公共无效站点(){
System.out.println(mp3结束工作);
}
});
} }类计算机{
public void transfer data(USB USB){//USB USB USB USB=new Flash();
USB。start();
System.out.println(具体传输数据的细节);
USB。stop();
} } USB接口
//常量:定义了长、宽、最大最小的传输速度等
void start();
void stop();}类闪光实现USB{
@覆盖
public void start() {
System.out.println(U盘开启工作);
}
@覆盖
公共无效站点(){
System.out.println(U盘结束工作);
} }类打印机实现USB{
@覆盖
public void start() {
System.out.println(打印机开启工作);
}
@覆盖
公共无效站点(){
System.out.println(打印机结束工作);
}}
四、应用:代理模式(Proxy)
1. 应用场景
2. 分类
3. 代码演示
//举例一:接口网络{
public void browse();
}//被代理类主机类实现网络{ @覆盖
公共void浏览(){
System.out.println(真实服务器上
网浏览信息);
} }//代理类类代理服务器实现网络{
专网网络;
公共代理服务器(网络网络){
this.network=网络;}
公共作废支票(){
System.out.println(检查网络连接等操作);}
公共void浏览(){
check();
网络。浏览();
} }公共类ProxyDemo
公共静态void main(String[] args) {
网络net=新代理服务器(新
real server());
网。browse();
} }//举例二:公共类StaticProxyTest {
公共静态void main(String[] args) {
Proxy s=new Proxy(new RealStar());
s。confer();
s。签合同();
s。书票();
s。sing();
s。收钱();
} }界面星形{
void confer();//面谈
void签署合同();//签合同
作废书票();//订票
void sing();//唱歌
void收钱();//收钱}//被代理类盛达类实现星形{
公共无效会议(){
}
public void signContract() {
}
公共作废书票(){
}
public void sing() {
System.out.println(明星:歌唱~~~);
}
public void collectMoney() {
}}//代理类类代理实现星形{
私星真实的
公共代理(真正的明星){
this.real=真实
}
公共无效会议(){
System.out.println(经纪人面谈);
}
public void signContract() {
System.out.println(经纪人签合同);
}
公共作废书票(){
System.out.println(经纪人订票);
}
public void sing() {
真实的。sing();
}
public void collectMoney() {
System.out.println(经纪人收钱);
} }
五、接口和抽象类之间的对比
No. | 区别点 | 抽象类 | 接口 |
---|---|---|---|
1 | 定义 | 包含抽象方法的类 | 主要是抽象方法和全局常量的集合 |
2 | 组成 | 构造方法、抽象方法、普通方法、常量、变量 | 常量、抽象方法、(jdk8.0:默认方法、静态方法) |
3 | 使用 | 子类继承抽象类(extends ) | 子类实现接口(implements ) |
4 | 关系 | 抽象类可以实现多个接口 | 接口不能继承抽象类,但允许继承多个接口 |
5 | 常见设计模式 | 模板方法 | 简单工厂、工厂方法、代理模式 |
6 | 对象 | 都通过对象的多态性产生实例化对象 | 都通过对象的多态性产生实例化对象 |
7 | 局限 | 抽象类有单继承的局限 | 接口没有此局限 |
8 | 实际 | 作为一个模板 | 是作为一个标准或是表示一种能力 |
9 | 选择 | 如果抽象类和接口都可以使用的话,优先使用接口,因为避免单继承的局限 | 如果抽象类和接口都可以使用的话,优先使用接口,因为避免单继承的局限 |
int x=0;
} B类{
int x=1;
}类C扩展了B实现了一个{
公共void pX() {
系统。出去。println(x);
} public static void main(String[]args){
新c().pX();
} }//题目二:界面可播放{
void play();
}界面可反弹{
void play();}界面可滚动扩展可播放、可弹起{
球球=新球(乒乓球);}类球器可滚动{
私有字符串名称;
公共字符串getName() {
返回名称;
}
公共球(字符串名){
this.name=name
}
公共无效播放(){
球=新球(足球);
系统。出去。println(球。getname());
} }推荐学习: 《java视频教程》 以上就是一文搞懂爪哇接口的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。