做药品网站有哪些内容,采集1024图片到wordpress,济南网站优化分析,合肥专业做网站的公司有哪些Java接口在使用过程中有两点规定#xff1a;1、接口中只能有定义方法名、方法返回类型#xff0c;不能有方法的实现。2、实现接口的类#xff0c;必须实现接口中所有的方法。例如下面的例子#xff1a;//定义接口public interface Action {//接口中的方法定义#xff0c;只…Java接口在使用过程中有两点规定1、接口中只能有定义方法名、方法返回类型不能有方法的实现。2、实现接口的类必须实现接口中所有的方法。例如下面的例子//定义接口public interface Action {//接口中的方法定义只能定义返回类型、方法名称String say();}//接口的实现public class ActionImpl implements Action {Overridepublic String say() {return Hello world!;}}如果在接口中增加一个方法会出现什么情况这里增加一个sleep方法。public interface Action {String say();String sleep();}我使用的是idea在编辑器中已经提示出错了必须要实现sleep方法。基于接口使用规定中的第二点一般是不能拓展接口的拓展接口则所有实现该接口的类都要实现新增加的接口。而实际工作中根本不可能知道有哪些类实现了该接口改动将是灾难性的。如果确实要拓展接口呢Java 8中引入了一个新的概念叫做default方法也可以称为Defender方法或者虚拟扩展方法(Virtual extension methods)。default方法是指在接口中可以定义包含具体实现的方法这打破了Java之前版本对接口的语法限制。其他实现该接口的类不需要实现新增的default方法默认就继承了该方法同时也可以覆盖该方法。这样既拓展了接口也不影响接口的实现类。例如public interface Action {String say();//使用default关键词使得接口中可以包含方法体public default String sleep() {return I will go to sleep.;}}其实现类不报错了且已经继承了该方法可以直接使用该方法。public class TestAction {public static void main(String[] args) {Action action new ActionImpl();System.out.println(action.sleep());}}在实现类中也可以覆盖该方法。public class ActionImpl implements Action {Overridepublic String say() {return Hello world!;}Overridepublic String sleep() {return sleeping;}}总之default使得接口可以有定义方法体子类可以继承和覆盖default方法。可以用于拓展接口。更详细的说明见