合計 昨日 今日

[java]Toolkit作成時について

[このトピックは解決済みです]

フォーラムルール
フォーラムルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Name: java君
[URL]
Date: 2017年1月07日(土) 19:38
No: 1
(OFFLINE)

 [java]Toolkit作成時について

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

Name: hide
[URL]
Date: 2017年1月07日(土) 21:01
No: 2
(OFFLINE)

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

どんなコードを書いたらどんなエラーが出ているのか詳細に書いてください。
基本的にエラーが出るのであればそれは良くないのでしょう。
以下は質問文からの想像が多いので話がずれている可能性があります。
ちゃんと伝わるような質問をしていただければもっとちゃんと回答がもらえるでしょう。
フォーラムルールはこちら

クラスメソッドを使うときはクラス.メソッドにするようにと習ったのですが、getToolkit();だけでクラスが
作れちゃうのが不思議です。


これは getToolkit();と記述するとToolkitクラスのインスタンスを取得できるのはなぜか、という話として回答しますね。
まずgetToolkitはComponentクラスのインスタンスメソッドのはずです。クラスメソッドではないので
コード[Java]: 全て選択
1
Component.getToolkit();

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

または自身を表すthisを省略して
コード[Java]: 全て選択
1
toolkit = getToolkit();

ではないでしょうか。

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

Name: java君
[URL]
Date: 2017年1月07日(土) 22:24
No: 3
(OFFLINE)

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

[解決!]

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

Name: hide
[URL]
Date: 2017年1月07日(土) 23:18
No: 4
(OFFLINE)

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

んー?ルールとして
どうやって解決したか他の人に分かるように書いて  からトピックを終了して下さい。

というものがありますので、どういう状況なのかちゃんと説明して欲しいです。


Return to C言語何でも質問掲示板

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[5人]