Ano*_*181 9 java inheritance swing composition jframe
扩展JFrame而不是创建新的JFrame有什么优缺点?
例如:
public class Test extends JFrame {
setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)
要么
public class Test {
JFrame test = new JFrame():
test.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)
MBy*_*ByD 10
您不应该扩展类,除非您想要实际扩展其功能,在您显示的示例中,您应该使用选项2,因为选项1是滥用extend
ing功能.
换句话说 - 只要问题的答案是测试a JFrame
?是NO,它不应该扩大JFrame
.
没有扩展JFrame(或任何Swing组件)的优点:
int getX()
和int getY()
方法.尝试一下,你会看到一些不那么有趣的异常行为.