default关键字
众所周知,接口时不能够带有实现方法的。
但是,在看Map源码时,发现接口也自定义方法。
有两种定义方法:
- static关键字可以定义一个方法,显然,这时应该受到支持的,否则static的含义就发生了变化。
- default关键字
没错,Default关键字可以让我们在接口中实现方法了。default是在java8中引入的关键字,他的出现是为了解决实现接口的缺陷问题(就是如果想修改接口时,所有实现了该接口的类都需要去修改)。因此我们使用的方法也有在Map中实现了的。
一句话,defalut就是结合了abstract和interface的中间产物。