No.2ベストアンサー
- 回答日時:
>getClass()でクラス名を取得しようとしてもできないのです。
getClass().getName() とか getClass().getSimpleName()では
ダメということですか?
No.1
- 回答日時:
うーん、とりあえず A() の中で何をやりたいのでしょうか?
そもそも、 A() の中で欲しいのはそのクラスでしょうか、そのクラスの何らかのメソッドの実行結果でしょうか?
もしそのクラス名のクラスを生成して何らかの処理をしたいというのなら、単に String で書いたクラス名を渡してメソッド中で if 文なり switch 文を使って渡された文字列に応じて生成処理を振り分ければいいだけです。
それ以外の場合では問題のクラスのインスタンスを渡してやれば呼び出し先で instanceof 演算子や getClass() メソッドを使ってそのクラスが何者なのかに応じた処理を行うことはできます。
# もっともその手を使うよりも、ポリフォーリズムを使ってクラス依存の処理をそのクラスに移譲する方がすっきりするのですが。
メソッドで使用しようとしている問題のクラス群が継承関係で親子兄弟になっていなく共通して実装しているインターフェースもない、という場合でもメソッドのオーバーロードで何とかすることはできます。
上記の内でどの手法が適切かはあなたが直面している状況によります。ですので、なぜクラス名をメソッドに渡す必要が生じたか、その状況を補足願います。
この回答へのお礼
お礼日時:2016/04/17 00:34
回答ありがとうございました。No2さんの回答をいただいたのですが、比較が出来ずそれに代わる代替案も思い浮かばなかったので制作を諦めました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/06 09:28
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- その他(プログラミング・Web制作) Pythonで複数のメソッドをまとめて管理する方法について 1 2023/03/30 00:01
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(vba)他のアプリケーションの右...
-
メソッドの引数にクラス名を渡す
-
ゲッターを使わないで変数にア...
-
「ラッパークラス」の存在意義...
-
interface,extend,implementの...
-
JTextFieldの入力制限
-
C++で参照カウンタを実装したい...
-
c++でのヘッダーファイルの循環...
-
vb.net 自作プロパティの削除に...
-
「継承されたメソッドの可視性...
-
「IOException は対応する try ...
-
サーバー上のフォルダ情報の取得
-
ASP.NETでの共通コードの書き方...
-
抽象クラスをJUNITでテストする...
-
Java StringBuilderクラスについて
-
なぜインタフェースを使うのか?
-
TableViewでタップした時にキー...
-
ファイルパスが取得出来ない(P...
-
オブジェクト指向の特徴
-
c# この高速化の方法あり?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
interface,extend,implementの...
-
抽象クラスをJUNITでテストする...
-
「ラッパークラス」の存在意義...
-
(vba)他のアプリケーションの右...
-
ASP.NETでの共通コードの書き方...
-
VB DLLプロジェクトについて
-
C#からDLLを呼びたいのですが・...
-
c++でのヘッダーファイルの循環...
-
委譲って何ですか?
-
「継承されたメソッドの可視性...
-
【C#】クラスのコンストラクタ...
-
Javaでのジェネリクス型パラメ...
-
C# 「データが失なわれる可能性...
-
Excel vbaのプログラムでガンマ...
-
ファイルパスが取得出来ない(P...
-
オーバーライドとラッパーの違い
-
compareToにおける「自然順序付...
-
メソッドの引数にクラス名を渡す
-
vb.net 自作プロパティの削除に...
-
VBがオブジェクト指向言語でな...
おすすめ情報
commons-langの「EqualsBuilderクラス」を自作したいということです。そのために引数にクラス名を指定してもらう必要があるのです。
でも、ObjectとClassは比較できないですし、Objectインスタンスを取得してgetClass()でクラス名を取得しようとしてもできないのです。ほかに良い方法も思いつかないので、引数にクラス名を取得してもらう必要があるのです。