Java编程,如何使对象返回值而不调用函数?

Java编程,如何使对象返回值而不调用函数?,java,Java,对于以下问题: fraction r1=new(1,2) system.out.println(r1) 输出: 1/2 有没有人知道一种方法可以强制对象返回一个特定的字符串,而不是调用object.toString函数并避免类之类的输出。fraction@xxxxx.您始终可以覆盖toString: Java平台中的所有类都是Object的后代,这就是为什么任何类的任何对象(即使是您创建的对象)都可以访问Object的toString方法,定义如下: public String toStri

对于以下问题:

fraction r1=new(1,2)
system.out.println(r1)
输出:

1/2
有没有人知道一种方法可以强制对象返回一个特定的字符串,而不是调用object.toString函数并避免类之类的输出。fraction@xxxxx.

您始终可以覆盖toString:

Java平台中的所有类都是Object的后代,这就是为什么任何类的任何对象(即使是您创建的对象)都可以访问Object的toString方法,定义如下:

public String toString(){
  getClass().getName() + '@' + Integer.toHexString(hashCode());
}
默认情况下,当您调用System.out.println时会调用toString,但它只是一个常规继承方法,没有任何东西可以阻止您自由重写它

请参见Oracle网站。

在Java中调用System.out.printo时,会自动调用o的toString方法。在分数类中过度使用此方法,您应该可以继续使用。

在分数类中重写Object.toString

toString是equals、hashCode等为数不多的方法之一,在某些编程情况下(例如仅命名几个)会隐式调用它

使用println打印对象 将对象集合打印到字符串将在所有元素上调用 串接字符串,如strObj=My obj as String is+myObj;
在Fraction类中实现toString。可能是Thank you的副本,现在很明显。
public String toString(){
  getClass().getName() + '@' + Integer.toHexString(hashCode());
}
public class Fraction {

    private int numerator;
    private int denominator;

    public Fraction(int n, int d) {
        this.numerator = n;
        this.denominator = d;
    }

    @Override
    public String toString() {
        // String representation of Fraction
        return numerator + "/" + denominator;
    }
}