- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:継承とsuperの意味が理解できません。)
継承とsuperの意味が理解できない
このQ&Aのポイント
- JAVAの初心者が継承とsuperについて理解できない。タイトル: 継承とsuperの意味が理解できません。
- 1番目のアプレットでは正常にWINDOWが表示されるが、2番目のアプリケーションでは透明になってしまう。paintメソッド内に「super.paint(g);」を書くと正常に動作する。
- 継承している子クラスは無条件で親クラスのメソッドを上書きできるが、いつSUPERが必要なのか理解できない。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#259269
回答No.1
私は .NET 使いなので Java は疎いのですが、 メソッドをオーバーロードして望み通りの結果が得られないという事は、親クラスの paint メソッド内で何か必要な処理をしているという事です。それを上書きしてしまうとその処理が呼び出されなくなる為動かなくなっているのでしょう。 JFrame の paint は下記にあるように http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/JFrame.html java.awt.Container 由来のようなので、そちらを見てみると、super.paint(g) を呼べ、と書いてありますね。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/Container.html#paint%28java.awt.Graphics%29