ページ 1 / 1
[java]Toolkit作成時について
Posted: 2017年1月07日(土) 19:38
by java君
Tookitクラス作成のとき、Component.getToolkit();と書くとエラーが出るのは良いのでしょうか?
クラスメソッドを使うときはクラス.メソッドにするようにと習ったのですが、getToolkit();だけでクラスが
作れちゃうのが不思議です。
Re: [java]Toolkit作成時について
Posted: 2017年1月07日(土) 21:01
by hide
どんなコードを書いたらどんなエラーが出ているのか詳細に書いてください。
基本的にエラーが出るのであればそれは良くないのでしょう。
以下は質問文からの想像が多いので話がずれている可能性があります。
ちゃんと伝わるような質問をしていただければもっとちゃんと回答がもらえるでしょう。
フォーラムルールはこちら
クラスメソッドを使うときはクラス.メソッドにするようにと習ったのですが、getToolkit();だけでクラスが
作れちゃうのが不思議です。
これは getToolkit();と記述するとToolkitクラスのインスタンスを取得できるのはなぜか、という話として回答しますね。
まずgetToolkitはComponentクラスのインスタンスメソッドのはずです。クラスメソッドではないので
コード:
Component.getToolkit();
とは書きません。
インスタンスメソッドはインスタンス.メソッドで呼び出します。
質問内容からエスパーすると継承したクラスのインスタンスメソッドの話っぽいので自身のインスタンスを表すthisをつかって
コード:
toolkit = this.getToolkit();
または自身を表すthisを省略して
コード:
toolkit = getToolkit();
ではないでしょうか。
このやり方でToolkitのインスタンスが取得できる理由は
継承元であろうComponentクラスがgetToolkitメソッドを実装してくれているからですね。
内部でToolkitクラスに属するインスタンスを生成してくれているのでしょう。
Re: [java]Toolkit作成時について
Posted: 2017年1月07日(土) 22:24
by java君
確かに今書いてみましたが、main関数から普通にメソッドだけの状態で呼べましたね。
Re: [java]Toolkit作成時について
Posted: 2017年1月07日(土) 23:18
by hide
んー?ルールとして
どうやって解決したか他の人に分かるように書いて からトピックを終了して下さい。
というものがありますので、どういう状況なのかちゃんと説明して欲しいです。