首页 > 编程 > Java > 正文

Java带default方法接口的应用示例

2019-11-26 08:43:37
字体:
来源:转载
供稿:网友

本文实例讲述了Java带default方法接口的应用。分享给大家供大家参考,具体如下:

一 带default方法接口的实现

1 代码

interface InterfaceA               // 定义一个接口{  public static String INFO = "static final." ; // 全局常量  public void print() ;            // 抽象方法  default public void otherprint()       // 带方法体的默认方法  {    System.out.println("print default1 methods InterfaceA!");  }}class subClass implements InterfaceA    //子类InterfaceAB实现接口InterfaceA{  public void print( )          //实现接口中的抽象方法print( )  {    System.out.println("print abstract methods InterfaceA!");    System.out.println(INFO);  }}public class Interfacedefault{  public static void main(String[ ] args)  {    subClass subObj = new subClass( );    //实例化子类对象    subObj.print( );             //调用覆写过的抽象方法    subObj.otherprint( );           //调用接口中的默认方法    System.out.println(InterfaceA.INFO);   //输出接口中的常量    InterfaceA InterfaceAobj = new subClass();    // 实例化子类对象,赋值给一个接口引用    InterfaceAobj.print( );             //调用覆写过的抽象方法    InterfaceAobj.otherprint( );           //调用接口中的默认方法  }}

2 运行

print abstract methods InterfaceA!
static final.
print default1 methods InterfaceA!
static final.
print abstract methods InterfaceA!
static final.
print default1 methods InterfaceA!

二 仅有default方法接口的使用

1 点睛

Java 8中,允许在一个接口中只定义默认方法,而没有一个抽象方法。

2 代码

interface InterfaceA           // 定义一个接口{  default public void otherprint( )   // 带方法体的默认方法  {    System.out.println("print default1 methods only in InterfaceA!");  }}class subClass implements InterfaceA    //子类InterfaceAB实现接口InterfaceA{  //do nothing}public class InterfaceDefaultOnly{  public static void main(String[ ] args)  {    subClass subObj = new subClass( );  //实例化子类对象    subObj.otherprint();          //调用接口中的默认方法  }}

3 运行

print default1 methods only in InterfaceA!

4 说明

由于接口InterfaceA中并无抽象方法,因此无抽象方法需要在子类中“实现”,所以子类subClass的主体部分什么也没有做,但这部分工作是必需的,因为接口是不能实例化对象的,即使子类subClass什么也没有做,其实也实现了一个功能,即由subClass可以实例化对象。

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表