Java 我如何摆脱所有这些愚蠢的、不必要的实现方法?
因此,我正在制作一个非常简单的类。它所做的只是说当鼠标被点击时。所以我自然只想要鼠标点击覆盖函数。然而,IDE说我需要实现所有的方法。我如何使它不需要实现所有这些愚蠢的、不必要的方法Java 我如何摆脱所有这些愚蠢的、不必要的实现方法?,java,Java,因此,我正在制作一个非常简单的类。它所做的只是说当鼠标被点击时。所以我自然只想要鼠标点击覆盖函数。然而,IDE说我需要实现所有的方法。我如何使它不需要实现所有这些愚蠢的、不必要的方法 import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JFrame; public class ME extends JFrame implements MouseListener{
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
public class ME extends JFrame implements MouseListener{
public ME() {
this.setVisible(true);
this.setSize(100, 100);
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
ME Me = new ME();
Me.addMouseListener(Me);
}
@Override
public void mouseClicked(MouseEvent e) {
System.out.println(e);
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}
实现接口就是承诺覆盖接口中的方法。
虽然您可以避免完成方法体(但这是一种不好的做法),但您不能仅仅实现一个方法就成功了。不太正确。在这种情况下可以使用一个适配器类,一个使用虚拟方法重写的类。对于这种特定的情况,确实存在适配器解决方案,如果您的类实现了MouseListener,那么您需要实现它的所有方法——这是不可能的。但是您可以让您的类不实现MouseListener,而是使用一个扩展MouseAdapter的匿名内部类。请阅读重复问题的答案,了解更多详细信息。作为旁白,您需要学习和使用。变量名都应该以小写字母开头,而类名应该以大写字母开头。学习这一点并遵循这一点可以让我们更好地理解您的代码,也可以让您更好地理解其他人的代码。
foo.addMouseListener(new MouseAdapter(){public void mousePressed(MouseEvent me){/*您的代码在这里*/})好的,谢谢。我查看了链接,发现它起了作用——但仅适用于该特定方法,例如,当我尝试将public void mouseMoved(MouseEvent e){System.out.println(e.getX()+e.getY();}放入其中时,它不起作用