如何在java中创建对象名称?

rai*_*man 2 java objectname

当一个对象被创建时,我怎么能得到该对象的名称?

例如,让我们考虑一个类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);
Run Code Online (Sandbox Code Playgroud)

我想获得创建的对象的名称是"book",有什么方法可以得到它吗?我尝试了toString(),函数,它不起作用,它打印这样的东西:@ 3d4eac69

T.J*_*der 5

  1. 如果您的意思是name财产,则不能使用您编写的代码.你需要name公开,或者为它提供公共吸气剂

  2. 如果你的意思是类的名称,那就是

    book.getClass().getName()
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果您指的是您将其分配给(book)的变量的名称,则不能,这不是运行时可用的信息(在调试构建和调试器内省之外).