从另一个类调用方法时 - 返回一个难以理解的值JAVA

0 java methods class

当我开第二课时,我看到"Car @ 15ab7626"为什么?在teory我必须看到20,是吗?我有alredy使用了不同的组合和问谷歌,但不要低估为什么.

我有一节课

public class Car {  
    public int drive(int a) { 
        int distance = 2*a;
        return distance;  
    }
}
Run Code Online (Sandbox Code Playgroud)

和二等

public class CarOwner { 
    public static void main(String[] args) {
        Car a = new Car();
        a.drive(10);
        System.out.println(a);  
    }
}
Run Code Online (Sandbox Code Playgroud)

Sur*_*tta 5

您正在打印汽车对象,而不是驱动器打印的结果

那个 难以理解的价值JAVA是Object的文本表示.

当你这样做时System.out.println(a);,默认toString()方法调用就传递了object.

根据toString()的文档

返回对象的字符串表示形式.通常,toString方法返回一个"文本表示"此对象的字符串.

所以

Car@15ab7626 是Values类的文本表示.

要打印drive()方法返回的结果,请打印,

 System.out.println(a.drive(10));
Run Code Online (Sandbox Code Playgroud)