Java 为什么';t AbstractAction实现actionPerformed()?
类Java 为什么';t AbstractAction实现actionPerformed()?,java,awt,actionlistener,abstract-action,Java,Awt,Actionlistener,Abstract Action,类AbstractAction实现接口Action,但在Action中,有一个方法actionPerformed(ActionEvent e),它继承自接口ActionListener 我知道实现接口的类必须提供该接口中方法的所有实现 但是我发现在AbstractAction中没有实现actionPerformed(ActionEvent e),为什么 我知道实现接口的类必须提供该接口中方法的所有实现 如果是抽象类,则不正确。只有具体的类才应该为它扩展的超类(将是抽象的)中的所有抽象方法以及它实
AbstractAction
实现接口Action
,但在Action
中,有一个方法actionPerformed(ActionEvent e)
,它继承自接口ActionListener
我知道实现接口的类必须提供该接口中方法的所有实现
但是我发现在
AbstractAction
中没有实现actionPerformed(ActionEvent e)
,为什么
我知道实现接口的类必须提供该接口中方法的所有实现
如果是抽象类,则不正确。只有具体的类才应该为它扩展的超类(将是抽象的)中的所有抽象方法以及它实现的接口中的所有方法提供实现
但是我发现AbstractAction中没有actionPerformed(ActionEvent e)的实现,为什么
他们想让它在该类中保持抽象,以确保扩展该类的任何具体内容都能为该方法提供实现
此外,它将执行什么默认操作(可能为空或无)
我知道实现接口的类必须提供该接口中方法的所有实现
如果是抽象类,则不正确。只有具体的类才应该为它扩展的超类(将是抽象的)中的所有抽象方法以及它实现的接口中的所有方法提供实现
但是我发现AbstractAction中没有actionPerformed(ActionEvent e)的实现,为什么
他们想让它在该类中保持抽象,以确保扩展该类的任何具体内容都能为该方法提供实现
此外,它将执行什么默认操作(可能是空的或什么都没有)?AbstractAction是一个抽象类,因此它不必实现接口上的所有方法。抽象类不能被实例化,因此如果不创建它的子类,就不能使用它们。只有具体类(即非抽象类)必须提供接口所有方法的实现。如果您将AbstractAction子类化,那么您的子类必须实现actionPerformed(),否则它也必须是抽象的
这些就是规则,但是AbstractAction实现actionPerformed()没有意义,因为它不可能提供有用的实现。每个子类都必须重写它的定义,这使它成为标记为抽象的好候选 AbstractAction是一个抽象类,因此它不必实现接口上的所有方法。抽象类不能被实例化,因此如果不创建它的子类,就不能使用它们。只有具体类(即非抽象类)必须提供接口所有方法的实现。如果您将AbstractAction子类化,那么您的子类必须实现actionPerformed(),否则它也必须是抽象的
这些就是规则,但是AbstractAction实现actionPerformed()没有意义,因为它不可能提供有用的实现。每个子类都必须重写它的定义,这使它成为标记为抽象的好候选 允许
抽象类不完整。抽象类不需要实现接口或父抽象类指定的任何或所有方法。此外,抽象类可以声明任何子类都必须实现的新抽象方法
使类抽象化所付出的代价是它不能直接实例化。也就是说,必须扩展抽象类才能使用。允许抽象类不完整。抽象类不需要实现接口或父抽象类指定的任何或所有方法。此外,抽象类可以声明任何子类都必须实现的新抽象方法
使类抽象化所付出的代价是它不能直接实例化。也就是说,必须扩展抽象类才能使用