gpt4 book ai didi

java - 访问修饰符

转载 作者:行者123 更新时间:2023-12-02 05:28:40 26 4
gpt4 key购买 nike

我是 Java 和 OOP 新手,我需要一些帮助来理解一些事情。假设您有以下类(class):

public class NewClass {
private long time;

public NewClass () {
time = 0;
}

public NewClass (long time) {
this.time = time;
}

public long GetAsMs () {
return time;
}

public boolean isGreaterThan(NewClass span) {
return GetAsMs() > span.GetAsMs();
}

我知道,如果我创建此类的新实例,我将拥有一个包含字段/变量 time 和关联方法的对象。我不明白 isGreaterThan 方法到底在做什么以及如何调用它。它所比较的​​这两个“变量”不是总是完全相同吗?

最佳答案

它们可能不同,请注意接受参数的构造函数:

public NewClass (long time) {
this.time = time;
}

如果构造两个对象:

NewClass xObj = new NewClass(12345678910);
NewClass yObj = new NewClass(12345678919);

现在xObj.isGreaterThan(yObj)将返回false。为什么?让我们看看那里发生了什么:

isGreaterThan 应用于 xObj 对象,该对象的类成员 time 的值为 12345678910。您正在传递 yObj 有自己的时间,其值为 12345678919 - 而且它们是不同的,GetAsMs 在应用于不同的对象时会返回两个不同的结果。

关于java - 访问修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25760218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com