当前位置: 首页 > news >正文

想开个小说网站怎么做承包建筑工程信息网站

想开个小说网站怎么做,承包建筑工程信息网站,专门做折扣的网站,东莞常平招聘信息转载自 Java 8新特性——default方法#xff08;defender方法#xff09;介绍 我们都知道在Java语言的接口中只能定义方法名#xff0c;而不能包含方法的具体实现代码。接口中定义的方法必须在接口的非抽象子类中实现。下面就是关于接口的一个例子#xff1a; 1 2 3 4 5 6 …转载自 Java 8新特性——default方法defender方法介绍 我们都知道在Java语言的接口中只能定义方法名而不能包含方法的具体实现代码。接口中定义的方法必须在接口的非抽象子类中实现。下面就是关于接口的一个例子 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 publicinterface SimpleInterface {   publicvoid doSomeWork(); }   classSimpleInterfaceImpl implementsSimpleInterface{   Override   publicvoid doSomeWork() {     System.out.println(Do Some Work implementation in the class);   }     publicstatic void main(String[] args) {     SimpleInterfaceImpl simpObj newSimpleInterfaceImpl();     simpObj.doSomeWork();   } } 那么如果我们在SimpleInterface里面添加一个新方法会怎样呢 1 2 3 4 publicinterface SimpleInterface {   publicvoid doSomeWork();   publicvoid doSomeOtherWork(); } 如果我们尝试编译上面的这段代码会得到如下结果 1 2 3 4 5 6 $javac .\SimpleInterface.java .\SimpleInterface.java:18: error: SimpleInterfaceImpl is not abstract and does not override abstract method doSomeOtherWork() inSimpleInterface class SimpleInterfaceImpl implements SimpleInterface{ ^ 1 error 因为接口有这个语法限制所以要直接改变/扩展接口内的方法变得非常困难。我们在尝试强化Java 8 Collections API让其支持lambda表达式的时候就面临了这样的挑战。为了克服这个困难Java 8中引入了一个新的概念叫做default方法也可以称为Defender方法或者虚拟扩展方法Virtual extension methods)。 Default方法是指在接口内部包含了一些默认的方法实现也就是接口中可以包含方法体这打破了Java之前版本对接口的语法限制从而使得接口在进行扩展的时候不会破坏与接口相关的实现类代码。接下来让我们看一个例子 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 publicinterface SimpleInterface {   publicvoid doSomeWork();     //A default method in the interface created using default keyword   //使用default关键字创在interface中直接创建一个default方法该方法包含了具体的实现代码   defaultpublic void doSomeOtherWork(){     System.out.println(DoSomeOtherWork implementation in the interface);   } }   classSimpleInterfaceImpl implementsSimpleInterface{   Override   publicvoid doSomeWork() {     System.out.println(Do Some Work implementation in the class);   }   /*    * Not required to override to provide an implementation    * for doSomeOtherWork.    * 在SimpleInterfaceImpl里不需要再去实现接口中定义的doSomeOtherWork方法    */     publicstatic void main(String[] args) {     SimpleInterfaceImpl simpObj newSimpleInterfaceImpl();     simpObj.doSomeWork();     simpObj.doSomeOtherWork();   } } 该程序的输出是 1 2 Do Some Work implementation inthe class DoSomeOtherWork implementation inthe interface 以上是对default方法的一个非常简要的介绍。如果有兴趣的话还可以通过看这篇文档来获取更深层次的理解。 更新 现在大家问得比较多的一个问题是如果一个类实现了两个接口可以看做是“多继承”这两个接口又同时都包含了一个名字相同的default方法那么会发生什么情况 在这样的情况下编译器会报错。让我用例子来解释一下 1 2 3 4 5 6 7 8 9 10 11 publicinterface InterfaceWithDefaultMethod {   publicvoid someMethod();   defaultpublic void someOtherMethod(){     System.out.println(Default method implementation in the interface);   } } publicinterface InterfaceWithAnotherDefMethod {   defaultpublic void someOtherMethod(){     System.out.println(Default method implementation in the interface);   } } 然后我们定义一个类同时实现以上两个接口 1 2 3 4 5 6 7 8 9 10 11 12 13 publicclass DefaultMethodSample implements   InterfaceWithDefaultMethod, InterfaceWithAnotherDefMethod{     Override   publicvoid someMethod(){     System.out.println(Some method implementation in the class);   }   publicstatic void main(String[] args) {     DefaultMethodSample def1 newDefaultMethodSample();     def1.someMethod();     def1.someOtherMethod();   }  } 如果编译以上的代码会得到一个编译器错误如下所示。因为编译器不知道应该在两个同名的default方法中选择哪一个因此产生了二义性。 原文链接 blog.sanaulla.info 翻译 ImportNew.com - 黄小非译文链接 http://www.importnew.com/7302.html
http://wiki.neutronadmin.com/news/202368/

相关文章:

  • 农产品网站建设结构盐城企业网站建设
  • 全国 做网站的企业想要推广版
  • 自网站EXCel数据导入怎么做贵州网站建设设计公司
  • 通信部门网站备案证明创新网站内容建设
  • 赤峰做网站公司wordpress手机端主题
  • 网站制作服务商百度推广 做网站
  • 网站编辑是做网页编辑吗外包网站多少钱
  • 网站建设接单技巧wordpress怎么上手
  • 换网站公司网络seo营销推广
  • 海南网站建设软件一个帮你赚钱的网站是谁做的广告
  • 东莞塘厦网站建设图片类网站建设
  • 海南旅游网站建设方式wordpress渐渐显示
  • 深圳网站建设乐云seo做新闻类网站如何盈利
  • 哪些网站是用wordpress搭建的极品教师韩剧在线观看第一集
  • 做网站需要学会些什么深圳住房和建设局网站 申请
  • 想自己做网站吗湖南住房与城乡建设部网站
  • 培训网站建设方案模板下载wordpress 自动标签
  • 北京公司网站制作哪家专业天津在哪做网站
  • 西安网站开发公司电话做网站php需要几个人
  • wordpress网站logo没显示深圳房产网站建设
  • 网页设计与网站建设专业网站优化关键词价格
  • 入群修改网站后台大型网站频道的建设需多人协同开发
  • 音乐播放网站怎么做网络规划设计师第二版
  • qq恢复官方网站大连设计工作室
  • 免费网站如何注册苏州手机网站制作
  • 建设一个网站要多少费用软件商店下载最新版2022
  • 品牌网站建设 2蝌蚪小平昌县建设局网站
  • 网站开发需要的软件深圳画册设计推荐
  • 购物网站开发方案dedecms导购网站模板
  • 增城门户网站wordpress 登录 显示