首页 > 解决方案 > 如何仅使用对象名称打印类数据成员

问题描述

class Jatin{
    int value = 9;
    public static void main(String args[]){
        Jatin obj = new Jatin();
        String str = new String("Hello");

        System.out.println(obj);//prints unique id why
        System.out.println(str);//prints string value why
    }
}

如何修改此代码并使用 Jatin 类的 obj 对象打印其所有数据成员,即打印出值 =9。而在 String str sop 中打印值。为什么?

标签: java

解决方案


您需要创建一个 getter 才能打印它们,或者在打印时直接访问特定字段。

如果您想要一种通过一次调用打印所有成员的方式,您也可以简单地实现/覆盖 toString 方法。

例如:

class Jatin {
  String name = "Jatin";
  int value = 9;

  @Override
  public String toString() {
      System.out.println("Name: " + name + "\n" + " value: " + value);
  }
}

或者,如果您只需要特定值,只需调用该字段即可。

Jatin obj = new Jatin();
System.out.println(obj.value); // will print the value

你只得到唯一哈希的原因是因为你没有toString()


推荐阅读