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

时间:2015-05-30 14:40:56

标签: 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);

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

3 个答案:

答案 0 :(得分:5)

  1. 如果您指的是name属性,则无法将代码编写为。您需要公开name,或者为其提供公共吸气剂

  2. 如果您的意思是班级的名称,那就是

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

答案 1 :(得分:0)

您必须在Book类中创建getter方法。就像:

public String getName() {
    return this.name;
}

然后你会打电话:

book.getName();

答案 2 :(得分:0)

使用:

book.getClass().getName();

Java中的每个对象都有getClass()方法:
getClass() documentation
每个Class对象都有它的名字:
getName() documentation