java - 我们可以为接口(interface)和抽象类创建对象吗?

标签 java inner-classes anonymous-class

f.addMouseMotionListener(new MouseAdapter() {
    public void mouseDragged(MouseEvent e) 
    {
        String s="Mouse dragging :X = "+e.getX()+" Y= "+e.getY();
        tf.setText(s);
    }
    });

我读到我们不能为抽象类实例化对象......但在这里我们正在创建 new MouseAdapter() ..有人能解释一下这些匿名类是如何完成的吗..谢谢。

最佳答案

您不是在创建 MouseAdapter 的实例,而是在创建从 MouseAdapter 继承的匿名类的实例。

更详细地说,可以这样写:

class Goo extends MouseAdapter { public void mouseDragged(){...} };

f.addMouseMotionListener(new Goo());

关于java - 我们可以为接口(interface)和抽象类创建对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6594609/

相关文章:

java - 从单个图像流有效生成多个缩略图

java - 在jboss应用服务器中配置多个站点

java - Java 中的静态嵌套类

没有实例的PHP匿名类

java - 当 GUI 不更新信息时,使用多线程 SWING 处理 GUI

java,匿名内部类问题

java - 如何使用 Mockito/Powermockito 在内部类中对逻辑进行单元测试

java - final 变量都被匿名类捕获了吗?

c++ - 如何将模板类限制为仅具有类型别名的特定专业

java - 为什么Thread.join使用currentTimeMillis?