如何从同一JAVA类调用返回值

如何从同一JAVA类调用返回值,java,function,class,call,Java,Function,Class,Call,我当时在做时间比较项目,我用了一种非常愚蠢的方式。请参阅下面的代码: 在名为getInDays的函数中,我计算了每年的天数,并设置了天数。但是,在下一个名为GetInHour的函数中,不能使用天。有人能帮我吗 非常感谢你 PS:我已经删除了所有其他函数,以使代码更容易查看 package datetimeexample; public class DateTime { private int month; private int day; private int yea

我当时在做时间比较项目,我用了一种非常愚蠢的方式。请参阅下面的代码:

在名为getInDays的函数中,我计算了每年的天数,并设置了天数。但是,在下一个名为GetInHour的函数中,不能使用天。有人能帮我吗

非常感谢你

PS:我已经删除了所有其他函数,以使代码更容易查看

package datetimeexample;

public class DateTime {
    private int month;
    private int day;
    private int year;
    private Time time;


    public void getInDays()
    {
        int days = year * 365 + month * 31 + day;
    }

    public void getInHours()
    {
        int totalHours = days*12 + time.getHour();
    }


}

days是在getInDays()方法中声明的。days的作用域是getInDays()方法的本地作用域。无法从该方法外部访问它

你有两个选择

  • 在getInDays()方法之外声明
    days
    ,并将其范围设置为实例级别

  • 直接调用getInHours()而不是在getInHours()中使用
    days
    。(前提是更改方法的返回类型


  • 天是在getInDays()方法中声明的。天的范围是getInDays()方法的本地范围。不能从该方法外部访问它

    你有两个选择

  • 在getInDays()方法之外声明
    days
    ,并将其范围设置为实例级别

  • 在getInHours()中不使用
    days
    ,而是直接调用getInDays()


  • 非常感谢!还有一个问题:除了这一个,还有其他比较时间的方法吗?你需要分享整个源代码。请将这个问题作为新帖子提出,因为它与当前问题无关。如果答案正确,请标记正确。非常感谢!还有一个问题:有其他方法比较时间吗除此之外的imes?您需要共享此问题的全部源代码。请将此问题作为新帖子提出,因为它与当前问题无关。如果答案正确,请标记正确。习惯使用括号(),这不是您的问题,但它将使所有内容更易于阅读…问题在于swithen colaco已经回答了,而且目前您的代码没有意义,您正在声明局部变量,但不返回结果,将类型从void更改为int并返回结果。习惯使用括号(),这不是您的问题,但它将使所有内容更易于阅读…问题在于Swithn colaco已经回答了,而且目前您的代码毫无意义,您正在声明局部变量,但不返回结果,将类型从void更改为int并返回结果。