为什么在java8中使用“default”关键字
在Java8中,引入了默认方法实现。我的问题是为什么需要在方法名/签名中使用默认关键字。为什么不能像通常的方法实现那样没有default关键字呢?在Java 8中,“default method”或Defender methods特性允许开发人员在不破坏现有实现的情况下向接口添加新方法。它提供了允许接口定义实现的灵活性,在具体类无法为该方法提供实现的情况下,该实现将用作默认实现 您可以参考下面的URL以了解更多详细信息。为什么在java8中使用“default”关键字,java,java-8,interface,default,Java,Java 8,Interface,Default,在Java8中,引入了默认方法实现。我的问题是为什么需要在方法名/签名中使用默认关键字。为什么不能像通常的方法实现那样没有default关键字呢?在Java 8中,“default method”或Defender methods特性允许开发人员在不破坏现有实现的情况下向接口添加新方法。它提供了允许接口定义实现的灵活性,在具体类无法为该方法提供实现的情况下,该实现将用作默认实现 您可以参考下面的URL以了解更多详细信息。 它明确了目的。不能意外地为方法创建默认实现。就像抽象方法需要关键字一样,而
它明确了目的。不能意外地为方法创建默认实现。就像抽象方法需要关键字一样,而不仅仅是没有实现的方法
粗心程序员的安全预防措施。注意:这是推测,但经过教育的推测。@Kayaman的回答也可能是正确的
Java的目标是尽可能向后兼容。如果没有包含default关键字,那么以前的java版本中可能是错误编写的无效代码现在可以在java 8+上编译。这可以看作是破坏了向后兼容性 值得注意的是,因为Java 8接口也支持静态方法。省略default关键字会导致歧义:在没有修饰符的接口中,方法声明是像常量一样隐式静态的,还是隐式默认的?事实上,一切都很清楚。我想你指的是接口方法的默认实现?问题不是默认关键字是什么,而是为什么需要它。