Java8之Interface接口新特性
2016-10-25 00:59
274 查看
在java1.8版本以前,Interface接口中所有的方法都是抽象方法和常量,而java1.8我们就可以定义带有方法体的方法。这也使我们在定义接口的时候就有更高的灵活性,一些不需要重写的方法我们我们就直接在接口中定义好了就可以了!
在定义接口的时候我们使用default和static关键字修饰。如下:
注意事项:
如果我们有一个类需要实现多个接口,而在些不同的接口中有相同的参数和default修饰的方法,这时候我们就需要重写这个相同的参数和default修饰的方法,被static修饰的则不需要。下面简单的代码演示:
运行结果:
test2 run2.....
test2 run2.....
test2 run1....
test1 run1....
在定义接口的时候我们使用default和static关键字修饰。如下:
interface Sample{ public void show(); default void run1(){ System.out.println(" default runing..."); } static void run2(){ System.out.println("static runing..."); } }
注意事项:
如果我们有一个类需要实现多个接口,而在些不同的接口中有相同的参数和default修饰的方法,这时候我们就需要重写这个相同的参数和default修饰的方法,被static修饰的则不需要。下面简单的代码演示:
package com.jike.jdk8; public class MyTest { public static void main(String[] args) { Test1.run2();//接口中定义的静态方法直接调用 Test2.run2(); Test test = new Test(); test.show(); test.run1(); } } class Test implements Test1,Test2{ @Override public void show(){ Test2.super.run1(); } @Override public void run1() { Test1.super.run1(); } } interface Test1{ void show(); default void run1(){ System.out.println("test1 run1.... "); } static void run2(){ System.out.println("test2 run2....."); } } interface Test2{ void show(); default void run1(){ System.out.println("test2 run1.... "); } static void run2(){ System.out.println("test2 run2....."); } }
运行结果:
test2 run2.....
test2 run2.....
test2 run1....
test1 run1....
相关文章推荐
- java学习之路 之 高级类特性2-接口(interface)-练习题
- Java8新特性--Interface中的default方法(接口默认方法)
- Java自学之路-Java基础教程-18:Java四大特性之多态性以及接口interface
- Java之旅(10)多态性 (续) & 接口(interface)
- Java的类(class)、包(package)和接口(interface)
- java 中的接口(interface)
- Java中的接口(interface)
- C#试题(四)Interface 接口特性
- java例程练习(接口interface)
- Java中接口(interface)和匿名类
- Java中接口(interface)和匿名类
- Java中的接口interface实现、与继承extends机制。
- 归纳Java中的Interface(接口)
- 详细解析Java中抽象类和接口的区别 abstract class和interface
- java例程练习(接口interface)
- java 接口interface的使用
- 归纳Java中的Interface(接口)
- 温习Java笔记(7):接口interface小记
- 详细解析Java中抽象类和接口的区别 abstract class和interface(转)
- JNDI(Java Naming and Directory Interface,Java命名和目录接口)