博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转] Java接口_interface_implements
阅读量:6697 次
发布时间:2019-06-25

本文共 1222 字,大约阅读时间需要 4 分钟。

相对抽象类来讲,接口就是比抽象类还要抽象的抽象类,丝毫不带半点实现的内容。

接口可以更加规范的对子类进行约束。
接口全面地专业地实现了:规范和具体实现的分离。
接口就是规范,定义的是一组规则,提现了现实世界中“如果你是...则必须...”的思想。如果你是动物,则必须能动。

接口的本质是契约,就像法律一样。制定好后大家都遵守。

项目的具体需求是多变的,我们必须以不变应万变才能从容开发,此处的“不变”就是“规范”。
因此,我们开发项目往往都是面向接口编程!

例子:

 

[java]   
 
  1. package com.ws.basic;  
  2.   
  3. interface gobj{      
  4.     public abstract void  attack();   
  5. }  
  6.   
  7. class tower implements gobj{  
  8.   
  9.     @Override  
  10.     public void attack() {        
  11.         System.out.println("箭塔攻击范围内所有目标,重甲单位有伤害加成!");  
  12.     }     
  13. }  
  14.   
  15. public class test {  
  16.     public static void main(String[] args) {  
  17.       
  18.         tower t = new tower();  
  19.         t.attack();  
  20.     }  
  21. }  

 

接口的定义:

接口中只有常量和抽象方法:

常量是 public static final
方法是 public abstract
如果没有写,就是默认的。

implements:

implements是一个类实现一个接口用的关键字,它是用来实现接口中定义的抽象方法。

中没有多继承,为了弥补这里的不足,用到了 interface 。
java 中的接口定义基本上就是像C++中的类中定义的类中包含实虚函数也就是C++中的抽象类。

接口不能创建实例,但是可用于声明引用变量类型。

一个类实现了接口,必须实现接口中所有的方法。
接口支持多继承,例如:class A extends B implements C,D,E

接口和类的区别:

接口不能用于实例化对象。

接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
接口不是被类继承了,而是要被类实现。
接口支持多重继承。

 

接口和抽象类的区别:

抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。

抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
一个类只能继承一个抽象类,而一个类却可以实现多个接口。

 

 

接口的主要应用:

多态接口动态加载;

接口作为方法的参数传递;
产生常量群。

转载于:https://www.cnblogs.com/chris-oil/p/7201275.html

你可能感兴趣的文章
必应(Bing)每日图片获取API
查看>>
Atom飞行手册翻译: 2.7 ~ 2.10
查看>>
redis的配置文件
查看>>
Nginx的Web管理界面收集
查看>>
Java操作MongoDB
查看>>
分布式系统开发工具包 —— 基于Kryo的Java对象序列化
查看>>
CentOS7安装OpenFire
查看>>
nagios监控服务器的搭建
查看>>
CentOS四种方法自建yum仓库
查看>>
从P560小型机B181201B故障代码识别手把手详解
查看>>
Sql server优化50法
查看>>
使用Server 2008新GPO做驱动器映射
查看>>
Java网络编程从入门到精通(5):使用InetAddress类的getHostName方法获得域名
查看>>
Lync Server外部访问系列PART5:模拟公网DNS
查看>>
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(一)
查看>>
老是不中,算了算“双色球”和“3D”,全买到底要多少¥¥。。(C 代码)
查看>>
总结面试时没有回答上的内存对齐问题
查看>>
Node.js 使用jQuery取得Nodejs http服务端返回的JSON对象示例
查看>>
百度地图 Android SDK - 个性化地图
查看>>
SharePoint 2013 Nintex Workflow 工作流帮助(六)
查看>>