接口
来源:互联网 发布:钱盾是什么软件 编辑:程序博客网 时间:2024/06/17 08:25
一、接口:
jdk1.8后进行了优化
1.优化后 可以写成员方法
① 静态方法
② 默认的方法
a.不能使用接口直接去调用 因为接口不能实例化对象出来
必须使用该接口类的实现类的对象去调用
b.默认方法在实现类中 不强制你必须重写
c.如果想调用接口类中 默认方法 可以使用
InterA.super.defaultFun();
接口名.super.默认方法名();
二、抽象类 和 接口 的区别:
1.成员变量
抽象类:可以是常量 和 变量
接口:常量
2.成员方法
抽象类:有成员方法 有抽象方法
接口:只能有 静态成员方法 抽象方法 默认方法
3.构造方法
抽象类:有构造方法
接口:没有构造方法
public class Demo01 { public static void main(String[] args) { // 调用接口中静态成员方法 InterA.staticFun(); // 调用接口中默认成员方法 InterA a = new InterAImpl(); a.defaultFun(); // 调用实现类的成员方法 // 向下转型 // 注意:必须先向上转型 才能够向下转型 InterAImpl aImpl = (InterAImpl)a; aImpl.fun1(); // 调用本类中 静态方法 InterAImpl.staticFun(); InterA.staticFun(); }}
interface InterA{ // 抽象方法 public abstract void fun(); // 成员方法 public static void staticFun() { System.out.println("我是接口静态成员方法 staticFun"); } // 默认方法 public default void defaultFun() { System.out.println("我是接口中默认的成员方法 defaultFun"); }}
class InterAImpl implements InterA{ @Override public void fun() { System.out.println("我是实现类的 抽象方法的实现"); } // 重写接口类的 默认值 @Override public void defaultFun() { // 抽象的同时希望可以调到接口类的 默认方法 InterA.super.defaultFun(); System.out.println("我是实现类的 defaultFun()"); } // 实现类中定义一个成员方法 public void fun1() { System.out.println("我是实现类中的 成员方法 fun1()"); } public static void staticFun() { System.out.println("我是实现类的 静态方法 staticFun()"); }}
阅读全文
0 0
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 【poj3468-A Simple Problem with Integers】-线段树区间更新
- java线程池2-四种常用的线程池
- 20171213课堂笔记
- java-JFrame(框架)
- vue2.9.1-vue-cli几个配置
- 接口
- 关于find命令find: paths must precede expression错误的解决方法
- 阿里王健:未来城市将如活有机体 避免资源浪费
- Concurrent Programming in Mac OS X and iOS.pdf 英文原版 免费下载
- 软件开发流程文档
- Concurrency in C# Cookbook.pdf 英文原版 免费下载
- C/C++学习之 C语言文件操作
- 阿里云服务器哪个地域好?从用户体验的角度浅谈如何对其进行选择
- Java Threads and the Concurrency Utilities.pdf 英文原版 免费下载