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这个问题已经在这里得到了回答。阅读此文,您将了解更多:)