1. 接口组成更新

1.1 接口组成更新概述

  

  

1.2 接口中默认方法

  
代码示例:

需求:

  • 1:定义一个接口MyInterface,里面有两个抽象方法:

  void show1();
  void show2();

  • 2:定义接口的实现类:

  MyInterfaceImpl

  • 3:定义测试类:

  MyInterfaceDemo
  在主方法中,按照多态的方式创建对象并使用
接口MyInterface:

//1:定义一个接口MyInterface,里面有两个抽象方法:
// void show1();
// void show2();
public interface MyInterface {
void show1(); void show2(); //default默认方法,可以使实现类不用实现该方法。
//还可以直接定义方法内容
default void show3() {
System.out.println("One show3");
}
}

定义接口的实现类:

//2:定义接口的实现类:
//MyInterfaceImpl
public class MyInterfaceImpl implements MyInterface { @Override
public void show1() {
System.out.println("One show1");
} @Override
public void show2() {
System.out.println("One show2");
} //实现类中并没有实现show3方法,但是也没有报错。
}

定义测试类:

//3:定义测试类:
//MyInterfaceDemo
//在主方法中,按照多态的方式创建对象并使用
public class MyInterfaceDemo {
public static void main(String[] args) {
MyInterface my = new MyInterfaceImpl();
my.show1();
my.show2(); // 如果想要添加一个新的接口方法,但是别的实现类又不要实现它,怎么办?
// 在接口中使用default
my.show3();
}
}

运行结果:

  

show3方法也可以被重写这里就不写示例了。

1.3 接口中静态方法

  
代码示例:

需求:

  • 1:定义一个接口Inter,里面有三个方法:一个是抽象方法,一个是默认方法,一个是静态方法

  void show();
  default void method(){ }
  public static void test(){ }

  • 2:定义接口的一个实现类:

  InterImpl

  • 3:定义测试类:

  InterDemo
  在主方法中,按照多态的方式创建对象并使用
接口Inter

//1:定义一个接口Inter,里面有三个方法:一个是抽象方法,一个是默认方法,一个是静态方法
//void show();
//default void method(){ }
//static void test(){ }
public interface Inter {
void show(); default void method() {
System.out.println("Inter 中的默认方法执行了");
} static void test() {
System.out.println("Inter 中的静态方法执行了");
}
}

实现类InterImpl

//2:定义接口的一一个实现类:
//InterImpl
public class InterImpl implements Inter { @Override
public void show() {
System.out.println("show方法执行了");
}
}

测试类:

//3:定义测试类:
//InterDemo
//在主方法中,按照多态的方式创建对象并使用
public class InterDemo {
public static void main(String[] args) {
Inter i = new InterImpl();
i.show();
i.method();
// 接口中的静态方法只能由类名调用,这样的为了防止一个实现类实现两个接口,但是两个接口中又有同名称的静态方法。
// i.test();
Inter.test();
}
}

运行结果:

1.4 接口中私有方法

  

Java基础00-接口组成更新31的更多相关文章

  1. Java基础十--接口

    Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...

  2. Java基础-面向接口(interface)编程

    Java基础-面向接口(interface)编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的“类 ...

  3. 【Java基础】接口和抽象类之间的对比

    Java 中的接口和抽象类之间的对比 一.接口 Interface,将其翻译成插座可能就更好理解了.我们通常利用接口来定义实现类的行为,当你将插座上连接笔记本的三角插头拔掉,换成微波炉插上去的时候,你 ...

  4. [JavaCore] 不错的Java基础学习资料-持续更新

    容易弄混的JAVA基础知识: http://www.iteye.com/topic/943647 [总结]String in Java: http://www.iteye.com/topic/5221 ...

  5. Java基础(00)

    Java发展史 Java之父:詹姆斯.高斯林(James Gosling). SUN(Stanford University Network 斯坦福大学网络公司)产物. 1995年5月23日,java ...

  6. JAVA基础之接口

    接口 学习完框架之后,整合SSM过程中对于接口的认识加深了许多.根据<java核心技术>这本书进一步研究了一下. 1.概念 java核心技术是这样说的:"在Java程序设计中,接 ...

  7. Java基础10 接口的继承与抽象类

    链接地址:http://www.cnblogs.com/vamei/archive/2013/03/31/2982240.html 作者:Vamei 出处:http://www.cnblogs.com ...

  8. Java基础10 接口的继承与抽象类(转载)

    接口继承 接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,增添新增的接口方法原型.比如,我们以Cup作为原interface:  interface Cup{ ...

  9. java基础(11):接口、多态

    1. 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成. ...

随机推荐

  1. HTML5之WebSocket(转自知乎)

    在认识websocket之前,我们必须了解的是websocket有什么用? 他能解决我们遇到的什么问题? 如果没用,那么我们就么有使用它的必要的. websocket就是建立起全双工协议的,提高了效率 ...

  2. 如何为应用选择最佳的FPGA(下)

    如何为应用选择最佳的FPGA(下) How to select an FPGA board? FPGA板的选择在很大程度上受FPGA本身的影响,也受整个板的特性和性能的影响.们已经在上面的章节中讨论了 ...

  3. 视频处理器为电池供电的设计提供4K视频编码

    视频处理器为电池供电的设计提供4K视频编码 Video processor enables 4K video coding for battery-powered designs OmniVision ...

  4. httprunner中的分层(api、testcase、testsuite)及实际使用

    一.分层思想 api定义层:最底下的一层是api的定义层testcase层:测试用例层,调用定义层的内容testsuite:测试套件层 二.分层案例设计实现实践举例 1.api 层: 2.testca ...

  5. 这款拓展让你的jupyter lab更高效

    有一段时间没有分享过有关jupyter lab的内容了,今天给大家介绍一款实用的jupyter lab插件,可以帮助我们打造更灵活易用的jupyter lab. 图1 这款拓展的名称叫做jlab-en ...

  6. 用java实现一个ATM机系统(2.0版)

    用java实现一个ATM机系统(2.0版) java实现银行ATM自助取款机,实现功能:用户登录.余额查询.存钱.取钱.转账.修改密码.退出系统. 文章目录 用java实现一个ATM机系统(2.0版) ...

  7. 【NX二次开发】Block UI 分割线

    设置控件可见 this->separator0->GetProperties()->SetLogical("Show",true);

  8. 【NX二次开发】Block UI 从列表选择部件

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  9. 从JDBC到ORM的事务实现

    一.JDBC 早期SUN公司想编写一套可以连接天下所有数据库的API,但是当他们刚刚开始时就发现这是不可完成的任务,因为各个厂商的数据库服务器差异太大了.后来SUN开始与数据库厂商们讨论,最终得出的结 ...

  10. java中的关键字volatile

    1.volatile简介 volatile作为java中的关键词之一,用以声明变量的值可能随时会被别的线程修改,使用volatile修饰的变量会强制将修改的值立即写入主存,主存中值的更新会使缓存中的值 ...