java - 如何仅使用对象名称打印类数据成员
问题描述
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 中打印值。为什么?
解决方案
您需要创建一个 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()
推荐阅读
- python - 如何实现具有基类依赖的策略模式?
- azure - Azure IoT Edge 和证书
- c++ - 在嵌入式 C++ 中使用运算符作为预定义变量来评估字符串格式的逻辑表达式
- angular - 总和不适用于使用 forEach 的角度
- c# - 继承 NLog WrapperTargetBase 用于同步日志记录
- xml - 将 XML/XSD/WSDL 的混合转换为 java 类
- ios - Swift - 在加载时重命名 UILabel
- hl7-fhir - 我们可以更新 FHIR 中的捆绑包吗?
- azure - 使用 Azure 逻辑应用在 Azuresql 数据库中插入行
- ios - AWS Amplify Swift API 登录 iOS 移动应用程序