2

オブジェクトが作成されたとき、どうすればそのオブジェクトの名前を取得できますか??

たとえば、クラス Book を考えてみましょう:

public class Book {
  private String name;
  private int pages;

  public Book(String name, int pages) {
        this.name = name;
        this.pages = pages;
  }

  }
// now i create an object of this class
Book book = new Book("Java",100);

作成したオブジェクトの名前「book」を取得したいのですが、取得する方法はありますか? toString()関数を試してみましたが、うまくいきません。次のようなものが出力されます:@ 3d4eac69

4

3 に答える 3

5
  1. プロパティを意味する場合はname、記述されたコードではできません。name公開するか、公開ゲッターを提供する必要があります

  2. クラスの名前を意味する場合は、

    book.getClass().getName()
    
  3. それを割り当てた変数の名前 ( book) を意味する場合は、できません。それは、実行時に (デバッグ ビルドとデバッガーのイントロスペクション以外で) 利用できる情報ではありません。

于 2015-05-30T14:46:45.027 に答える
0

使用する:

book.getClass().getName();

Java のすべてのオブジェクトにはgetClass()メソッドがあります:
getClass() ドキュメント
そしてすべてのClassオブジェクトにはその名前があります:
getName() ドキュメント

于 2015-05-30T14:44:39.663 に答える