java接口方法体_Java8新特性(四)------接口中可以定义方法体

Java8比起以前的版本存在很大的变化,我们知道在之前的版本中接口只能是定义抽象的方法,是不能定义实现的,但是在java8环境下,这个不可能已经变得可能。下面我们通过例子一步一步的来讲解下java8的用法。

定义静态方法

在接口中定义的静态方法,不是抽象的,具体实现的,可以直接使用接口名称调用。

/**

* Created by xiaona on 2016/5/30.

*/

public interface TestMethod {

public static void method() {

/**

* 1、定义一个静态的带有方法体的方法

* 2、接口不能创建对象,调用静态方法不需要对象

* 3、接口名调用

*/

System.out.println("接口中静态方法");

}

调用:

public static void main( String[] args ) {

/**

* 接口名称,直接调用---TestMethod(接口名称)

*/

TestMethod.method();

定义普通方法

在接口中不仅仅是可以定义静态方法,还可以进行普通方法的定义,不过不是抽象,java8中,可以使用关键字default

//定义接口中默认方法

/**

* 不同于静态方法,默认方法是一个非静态方法

* 对于非静态方法,只能通过对象进行调用

* 但是接口是不能创建对象的名故而我们需要子类来实现接口

*/

public default void methodDefault(){

System.out.println();

}

}

调用:

// 使用子类对象,调用接口中的默认方法

Inter8Impl inter8 = new Inter8Impl();

inter8.methodDefault();

// 使用多态的特点,接口指向自己的实现类,调用对应的方法

TestMethod i88=new Inter8Impl();

i88.methodDefault();

}

此外,值得注意的是:面向对象中,java只是支持单继承,不支持多继承,一个类只能继承一个类,

(1)如果多个接口定义了同样的静态方法,

即使存在实现类,同时实现多个接口,仍然是不可使用实现类名调用接口的方法

(2)如果多个接口定义了同样的默认方法

实现类实现多个接口时,必须重写掉默认方法,否则编译失败。

在接口中可以定义实现的方法体是java8的一大特性,可以定义多个静态或者默认的方法,静态必须加上static,默认方法必须加上default关键字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值