任何被java.lang.Object实现的方法,都不能视为抽象方法

首先要了解函数式接口只能有一个抽象方法这个概念,那么就可以编写函数式接口来证明任何被java.lang.Object实现的方法,都不能视为抽象方法的观点。

代码demo:
任何被java.lang.Object实现的方法,都不能视为抽象方法
可以发现,函数式接口的注解@FunctionalInterface报出了相应错误,找不到目标方法,而其实这个接口里是有一个equals()方法的,而equals()方法在java.lang.Object类中又是有相应实现的,如下:
任何被java.lang.Object实现的方法,都不能视为抽象方法
那么试试加上一个自己的抽象方法,如下:
任何被java.lang.Object实现的方法,都不能视为抽象方法
如图所示,不报错了,符合函数式接口的规范。

总结

任何被java.lang.Object实现的方法,都不能视为抽象方法,算是个小知识点,get就ok。