Java基础00-接口组成更新31
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的更多相关文章
- Java基础十--接口
Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...
- Java基础-面向接口(interface)编程
Java基础-面向接口(interface)编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的“类 ...
- 【Java基础】接口和抽象类之间的对比
Java 中的接口和抽象类之间的对比 一.接口 Interface,将其翻译成插座可能就更好理解了.我们通常利用接口来定义实现类的行为,当你将插座上连接笔记本的三角插头拔掉,换成微波炉插上去的时候,你 ...
- [JavaCore] 不错的Java基础学习资料-持续更新
容易弄混的JAVA基础知识: http://www.iteye.com/topic/943647 [总结]String in Java: http://www.iteye.com/topic/5221 ...
- Java基础(00)
Java发展史 Java之父:詹姆斯.高斯林(James Gosling). SUN(Stanford University Network 斯坦福大学网络公司)产物. 1995年5月23日,java ...
- JAVA基础之接口
接口 学习完框架之后,整合SSM过程中对于接口的认识加深了许多.根据<java核心技术>这本书进一步研究了一下. 1.概念 java核心技术是这样说的:"在Java程序设计中,接 ...
- Java基础10 接口的继承与抽象类
链接地址:http://www.cnblogs.com/vamei/archive/2013/03/31/2982240.html 作者:Vamei 出处:http://www.cnblogs.com ...
- Java基础10 接口的继承与抽象类(转载)
接口继承 接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,增添新增的接口方法原型.比如,我们以Cup作为原interface: interface Cup{ ...
- java基础(11):接口、多态
1. 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成. ...
随机推荐
- HTML5之WebSocket(转自知乎)
在认识websocket之前,我们必须了解的是websocket有什么用? 他能解决我们遇到的什么问题? 如果没用,那么我们就么有使用它的必要的. websocket就是建立起全双工协议的,提高了效率 ...
- 如何为应用选择最佳的FPGA(下)
如何为应用选择最佳的FPGA(下) How to select an FPGA board? FPGA板的选择在很大程度上受FPGA本身的影响,也受整个板的特性和性能的影响.们已经在上面的章节中讨论了 ...
- 视频处理器为电池供电的设计提供4K视频编码
视频处理器为电池供电的设计提供4K视频编码 Video processor enables 4K video coding for battery-powered designs OmniVision ...
- httprunner中的分层(api、testcase、testsuite)及实际使用
一.分层思想 api定义层:最底下的一层是api的定义层testcase层:测试用例层,调用定义层的内容testsuite:测试套件层 二.分层案例设计实现实践举例 1.api 层: 2.testca ...
- 这款拓展让你的jupyter lab更高效
有一段时间没有分享过有关jupyter lab的内容了,今天给大家介绍一款实用的jupyter lab插件,可以帮助我们打造更灵活易用的jupyter lab. 图1 这款拓展的名称叫做jlab-en ...
- 用java实现一个ATM机系统(2.0版)
用java实现一个ATM机系统(2.0版) java实现银行ATM自助取款机,实现功能:用户登录.余额查询.存钱.取钱.转账.修改密码.退出系统. 文章目录 用java实现一个ATM机系统(2.0版) ...
- 【NX二次开发】Block UI 分割线
设置控件可见 this->separator0->GetProperties()->SetLogical("Show",true);
- 【NX二次开发】Block UI 从列表选择部件
属性说明 属性 类型 描述 常规 BlockID String 控件ID Enable Logical 是否可操作 Group ...
- 从JDBC到ORM的事务实现
一.JDBC 早期SUN公司想编写一套可以连接天下所有数据库的API,但是当他们刚刚开始时就发现这是不可完成的任务,因为各个厂商的数据库服务器差异太大了.后来SUN开始与数据库厂商们讨论,最终得出的结 ...
- java中的关键字volatile
1.volatile简介 volatile作为java中的关键词之一,用以声明变量的值可能随时会被别的线程修改,使用volatile修饰的变量会强制将修改的值立即写入主存,主存中值的更新会使缓存中的值 ...