use*_*pal 2 java interface class instantiation
可能重复:
创建接口的"对象"
我是Java新手.根据我的理解:
Interface
.我们只能实例化一个class
实现的interface
.new
关键字用于从类创建对象.但是,当我读取某些Java程序的源代码时,我发现有时会实例化一个接口.例如:
例1:
JButtonObject.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//codes
}
});
Run Code Online (Sandbox Code Playgroud)
例2:
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
//codes
}
});
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,ActionListener和Runnable都是Java接口.我可以知道为什么可以在这些代码中实例化它们吗?
实例化接口的目的是什么?参考这个例子,似乎我们应该创建一个实现接口的类的实例.