您的位置:首页 > 编程语言 > Java开发

JavaSE8基础 接口存在用default修饰的非抽象方法

2017-10-08 16:47 369 查看
礼悟:
公恒学思合行悟,尊师重道存感恩。叶见寻根三返一,江河湖海同一体。
虚怀若谷良心主,愿行无悔给最苦。读书锻炼养身心,诚劝且行且珍惜。

os :windows7 x64
jdk:jdk-8u131-windows-x64
ide:Eclipse Oxygen Release (4.7.0)


接口类:

package blog.jizuikuA;

/**
* 具有默认方法的接口
*
* @author jizuiku
* @version V17.10.03
*/
public interface PersonDao {
public default void sayHello() {
System.out.println("hello world");
}

}


未重写default方法的接口实现类:

package blog.jizuikuA;

/**
*
*
* @author jizuiku
* @version V17.10.03
*/
public class PersonDaoImplNotOverride implements PersonDao {

}


重写default方法的接口实现类:

package blog.jizuikuA;

/**
*
*
* @author jizuiku
* @version V17.10.03
*/
public class PersonDaoImplOverride implements PersonDao {
@Override
public void sayHello() {
// TODO Auto-generated method stub
// 他这个调用上级的sayHello()很有意思
PersonDao.super.sayHello();
System.out.println("重写后的sayHello");
}
}


测试类:

package blog.jizuikuA;

/**
*
*
* @author jizuiku
* @version V17.10.03
*/
public class InterfaceDefaultFunDemo {
public static void main(String[] args) {

//演示 没有重写接口中的default修饰的方法
PersonDaoImplNotOverride pdino = new PersonDaoImplNotOverride();
pdino.sayHello();

System.out.println("----------------");

//演示 重写接口中的default修饰的方法
PersonDaoImplOverride pdio = new PersonDaoImplOverride();
pdio.sayHello();

// PersonDao.sayHello(); 是 无法调用的
}
}


结果:



Java优秀,值得学习。
学习资源:itcast和itheima视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐