私はあなたがJFrameの上、これを行うことができますなぜ実際の理由が何であるかを思ったんだけど:Javaのスーパークラスを呼び出し、標準的な方法を用いて
super("My Frame");
そして、それは同じです:
setTitle("My Frame");
彼らは同じことをしていると思っていますが、実際にはそれぞれ何が起こっていますか?継承されたメソッドを単に使うのではなく、なぜスーパークラスを呼び出すのですか?
私はあなたがJFrameの上、これを行うことができますなぜ実際の理由が何であるかを思ったんだけど:Javaのスーパークラスを呼び出し、標準的な方法を用いて
super("My Frame");
そして、それは同じです:
setTitle("My Frame");
彼らは同じことをしていると思っていますが、実際にはそれぞれ何が起こっていますか?継承されたメソッドを単に使うのではなく、なぜスーパークラスを呼び出すのですか?
JFrame
でそれについての詳細を学ぶことができますが、あなたがそれに従っている場合、そのコンストラクタでそれが言うところ
public JFrame(String title) throws HeadlessException {
super(title);
frameInit();
}
は、あなたが最終的にjava.awt.Frame
クラスに到達言うコンストラクタを持っています
public Frame(String title) throws HeadlessException {
init(title, null);
}
誰の初期化方法が:
private void init(String title, GraphicsConfiguration gc) {
this.title = title;
SunToolkit.checkAndSetPolicy(this, false);
}
ボトムラインでは、特定のコンストラクタを呼び出すだけであるため、スーパーを使用します。指定された文字列を受け取らない他のJFrame
コンストラクタのいずれかを使用する場合は、提案するように手動でタイトルを設定できます。
あなたがsuper("My Frame")
と言うとき、あなたはスーパークラスのコンストラクタを呼び出しています。
そして、あなたがsetTitle("My Frame")
と言うとき、そのちょうど設定タイトル。
あなたはhttp://docs.oracle.com/javase/tutorial/java/IandI/super.html