Java FunctionInterface能否扩展非FunctionInterface类?

Java FunctionInterface能否扩展非FunctionInterface类?,java,interface,mouselistener,functional-interface,Java,Interface,Mouselistener,Functional Interface,我现在正在学习,我被分配了一个简单的任务。 我必须使这段代码正常工作(我不能修改它): 我认为MousePressListener应该是FunctionInterface,但它不能扩展MouseListener。有没有办法解决这个问题,或者我是从坏的方面来解决的?addMouseListener需要一个MouseListenerMouseListener具有多个抽象方法。因此,lambda表达式的类型不能是MouseListener 我不知道什么是MousePressListener,但是如果它

我现在正在学习,我被分配了一个简单的任务。 我必须使这段代码正常工作(我不能修改它):


我认为MousePressListener应该是FunctionInterface,但它不能扩展MouseListener。有没有办法解决这个问题,或者我是从坏的方面来解决的?

addMouseListener
需要一个
MouseListener
MouseListener
具有多个抽象方法。因此,lambda表达式的类型不能是
MouseListener


我不知道什么是
MousePressListener
,但是如果它是一个扩展
MouseListener
的接口,它仍然会从
MouseListener
继承多个抽象方法,所以它不能是一个函数接口。

请看,为什么不创建一个非函数接口的随机类
Foo
,制作一个界面
Bar
,该界面扩展了仅具有一个抽象方法的
Foo
,并将
@functioninterface
注释添加到
Bar
?如果
Bar
在Java眼中不是一个功能接口,它就不会编译。实际上,它可以。通过将“mouseClicked”抽象化,并将“mouseEntered”、“mouseExited”、“mousePressed”和“mouseerelease”默认设置为“mouseEntered”。不过,感谢您的帮助:)
    JButton b = new JButton("Myszą ciśnij");
    b.addMouseListener ( (MousePressListener) e -> System.out.println("ok"));