gpt4 book ai didi

java - 抽象类的对象是在使用匿名内部类时创建的吗?

转载 作者:行者123 更新时间:2023-12-01 18:48:11 24 4
gpt4 key购买 nike

理解匿名内部类有点困难

这是我的代码。我知道 WindowAdapter 类是一个抽象类,那么“new WindowAdapter()”这行是什么意思?我们是否创建了一个 WindowAdapter 类的对象,它是一个抽象类。Confused!!!

Class Myframe extends Frame
{
public static void main(String args[])
{
Myframe f=new Myframe();
f.setVisible(true);
f.setSize(300,300);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}

最佳答案

它正在创建一个匿名类的对象,该类扩展了 WindowAdapter 类,而无需编写代码来子类化它。

来自Java Tutorials :

匿名类使您的代码更加简洁。它们使您能够同时声明和实例化一个类。它们就像本地类,只是没有名称。

这是创建子类对象的快捷方式,无需显式编写扩展 WindowAdapter 的单独类。要点是您需要从方法代码内部获取该对象,因此您永远不会引用到其他地方,因此您不需要为它们创建单独的类。

关于java - 抽象类的对象是在使用匿名内部类时创建的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16789952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com