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;
}
}