[java]Toolkit作成時について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
java君

[java]Toolkit作成時について

#1

投稿記事 by java君 » 8年前

Tookitクラス作成のとき、Component.getToolkit();と書くとエラーが出るのは良いのでしょうか?
クラスメソッドを使うときはクラス.メソッドにするようにと習ったのですが、getToolkit();だけでクラスが
作れちゃうのが不思議です。

hide

Re: [java]Toolkit作成時について

#2

投稿記事 by hide » 8年前

どんなコードを書いたらどんなエラーが出ているのか詳細に書いてください。
基本的にエラーが出るのであればそれは良くないのでしょう。
以下は質問文からの想像が多いので話がずれている可能性があります。
ちゃんと伝わるような質問をしていただければもっとちゃんと回答がもらえるでしょう。
フォーラムルールはこちら
クラスメソッドを使うときはクラス.メソッドにするようにと習ったのですが、getToolkit();だけでクラスが
作れちゃうのが不思議です。
これは getToolkit();と記述するとToolkitクラスのインスタンスを取得できるのはなぜか、という話として回答しますね。
まずgetToolkitはComponentクラスのインスタンスメソッドのはずです。クラスメソッドではないので

コード:

Component.getToolkit();
とは書きません。
インスタンスメソッドはインスタンス.メソッドで呼び出します。
質問内容からエスパーすると継承したクラスのインスタンスメソッドの話っぽいので自身のインスタンスを表すthisをつかって

コード:

toolkit = this.getToolkit();
または自身を表すthisを省略して

コード:

toolkit = getToolkit();
ではないでしょうか。

このやり方でToolkitのインスタンスが取得できる理由は
継承元であろうComponentクラスがgetToolkitメソッドを実装してくれているからですね。
内部でToolkitクラスに属するインスタンスを生成してくれているのでしょう。

java君

Re: [java]Toolkit作成時について

#3

投稿記事 by java君 » 8年前

確かに今書いてみましたが、main関数から普通にメソッドだけの状態で呼べましたね。

hide

Re: [java]Toolkit作成時について

#4

投稿記事 by hide » 8年前

んー?ルールとして
どうやって解決したか他の人に分かるように書いて  からトピックを終了して下さい。
というものがありますので、どういう状況なのかちゃんと説明して欲しいです。

閉鎖

“C言語何でも質問掲示板” へ戻る