Java 使用printf()打印变量时打印随机数
我只是想打印一个简单的东西,上面写着:Java 使用printf()打印变量时打印随机数,java,object,Java,Object,我只是想打印一个简单的东西,上面写着:Hola hi hello,但出于某种原因,它正在打印我想要的东西,但我在输出中得到了一些数字 很抱歉,如果这是一件容易找到或修复的事情,但我只是从java开始,所以我是一个完全的noob 我的文件看起来像: Example.java public class Example { public static void main(String[] args){ Hola ho = new Hola("hola");
Hola hi hello
,但出于某种原因,它正在打印我想要的东西,但我在输出中得到了一些数字
很抱歉,如果这是一件容易找到或修复的事情,但我只是从java开始,所以我是一个完全的noob
我的文件看起来像:
Example.java
public class Example {
public static void main(String[] args){
Hola ho = new Hola("hola");
System.out.printf("%s hi hello", ho);
}
}
class Hola {
public String name;
public Hola(String name){
this.name = name;
}
}
Hola.java
public class Example {
public static void main(String[] args){
Hola ho = new Hola("hola");
System.out.printf("%s hi hello", ho);
}
}
class Hola {
public String name;
public Hola(String name){
this.name = name;
}
}
输出:Hola@7852e922您好%您必须使用
ho.name
:
System.out.printf("%s hi hello", ho.name);
因为
ho
将打印对象引用而不是名称。您必须使用ho.name
:
System.out.printf("%s hi hello", ho.name);
因为
ho
将打印对象引用而不是名称。您应该重写Hola
类的toString()
方法:
class Hola {
public String name;
public Hola(String name){
this.name = name;
}
@Override
public String toString()
{
return this.name;
}
}
您应该重写
Hola
类的toString()
方法:
class Hola {
public String name;
public Hola(String name){
this.name = name;
}
@Override
public String toString()
{
return this.name;
}
}
你需要重写你的
Hola
类的toString()
方法。你需要重写你的Hola
类的toString()
方法。这是一种更好的做法还是比这样做有更好的性能:System.out.printf(“%s hi hello”,ho.name);这实际上取决于您使用类的原因和方式。如果返回toString()中的name
有意义类的
方法
那么我会按照我的方式来做……至少你应该将变量设置为私有,并为其设置一个getter
和setter
,除非你有特定的理由将其设置为公共的。这是一种更好的做法还是比这样做有更好的性能:System.out.printf(“%s hi hello”,ho.name);这实际上取决于您使用类的原因和方式。如果返回toString()中的name
有意义类的
方法
那么我会按照我的方式来做……至少你应该将变量设置为私有,并为其设置一个getter
和setter
,除非你有明确的理由将其设置为公共的
。谢谢,这解决了我的问题:)那么你知道这些数字是什么吗?它们仅仅是变量所保存的内存吗?@FidelCastro这个问题已经在这里得到了回答。阅读此内容,您将了解更多:)谢谢,这解决了我的问题:)那么您知道这些数字是什么吗?它们仅仅是变量所保存的内存吗?@FidelCastro这个问题已经在这里得到了回答。阅读此文,您将了解更多:)