【Java】接口
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【Java】接口,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1629字,纯文字阅读大概需要3分钟。
内容图文
![【Java】接口](/upload/InfoBanner/zyjiaocheng/644/3e78193c00b84dfab936c36e15cc9b68.jpg)
Java中没有多继承,但却可以实现多接口。
基本概念
- 接口使用interface关键字
- 接口命名前加字母I来区分接口和普通类
- 子类可以实现多个接口使用关键字implements
- 一般使用接口名+Impl来命名子类
- 一般一个类既可以当抽象类也可以当接口的时候,优先使用接口
- 子类的实例化对象可以向上转型为任意接口类型
接口使用权限
接口中只有public权限
- 接口中定义的变量,实际就是全局常量,默认public static final
- 接口中定义的方法默认为public abstract
子类可以先使用extends继承一个抽象类,后使用implements实现多个接口。
抽象类可以使用implements实现多个接口,但是接口不能extends抽象类。
抽象类实现接口可以选择性的覆写接口中的抽象方法。
一个接口可以使用extends继承多个父接口。接口不能继承类。
接口定义加强
接口只是方法的声明,没有方法的实现。一旦接口中添加新的抽象方法时,所有的实现类都需要覆写该方法。所以在JDK1.8后进行了改进。
使用default定义普通方法
interface Message{
void chat();
default void transportFile(){
System.out.println("暂不支持");
}
}
class QQMessage implements Message {
@Override
public void chat() {
System.out.println("QQ聊天");
}
@Override
public void transportFile() {
System.out.println("QQ传文件");
}
}
class MSNMessage implements Message {
@Override
public void chat() {
System.out.println("MSN聊天");
}
}
public class Hello {
public static void main(String[] args) {
Message qq=new QQMessage(); //向上转型
qq.chat();
qq.transportFile();
Message msn=new MSNMessage(); //向上转型
msn.chat();
msn.transportFile();
}
}
定义staic静态方法
interface Message{
void chat();
static void transportFile(){
System.out.println("暂不支持");
}
}
public class Hello {
public static void main(String[] args) {
//Message.chat();即使接口里有没有实现的方法也可以通过类名直接调用
Message.transportFile();
}
}
内容总结
以上是互联网集市为您收集整理的【Java】接口全部内容,希望文章能够帮你解决【Java】接口所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。