当我使用一个尚未编写的超类方法时,Java中会发生什么?
考虑下面的Java代码,如果JPanel类中没有paintComponent方法,会发生什么当我使用一个尚未编写的超类方法时,Java中会发生什么?,java,swing,inheritance,Java,Swing,Inheritance,考虑下面的Java代码,如果JPanel类中没有paintComponent方法,会发生什么 它不会编译。如果它在编译时存在,但在运行时不存在,那么它将抛出一个错误。它不会编译。如果它在编译时存在,但在运行时不存在,那么它将抛出一个错误。在超类中总会有一个实现 JPanel实现paintComponent()。因此,您不必担心它。超级类中总会有一个实现 JPanel实现paintComponent()。所以,你不必担心 如果这是你要问的具体情况,那么它总是存在的 如果你问的是一般情况,那么它不
它不会编译。如果它在编译时存在,但在运行时不存在,那么它将抛出一个错误。它不会编译。如果它在编译时存在,但在运行时不存在,那么它将抛出一个错误。在超类中总会有一个实现
JPanel
实现paintComponent()
。因此,您不必担心它。超级类中总会有一个实现
JPanel
实现paintComponent()
。所以,你不必担心
- 该方法应该出现在超类层次结构中的任何类中,否则编译将失败
- 将调用该层次结构中的类的方法(从底部开始)
- 若方法未找到,它将抛出一个错误
- 该方法应该出现在超类层次结构中的任何类中,否则编译将失败
- 将调用该层次结构中的类的方法(从底部开始)
- 若方法未找到,它将抛出一个错误
import javax.swing.JPanel;
public class ShapesJPanel extends JPanel
{
public void paintComponent( Graphics g )
{
super.paintComponent( g );
//more codes here
}
}