gpt4 book ai didi

java - 'level.tick()' 和 'Level.tick(level)' 之间的区别

转载 作者:行者123 更新时间:2023-11-30 09:27:59 29 4
gpt4 key购买 nike

我是业余时间的 Java 开发者,我只是想知道

level.tick()

Level.tick(level)

('Level' 是类的名称,'level' 是该类的对象)

我知道,由于 java 是通过引用对象来工作的,因此从将级别作为参数传递的类调用静态函数肯定会与“level.tick()”具有相同的效果

(请注意这不是我正在从事的项目,我只是想问一下))

最佳答案

两者都可以实现相同的功能。最常见的是您使用第一个实例方法 声明。但是,如果级别可以为 null,则您需要在该调用之前添加检查。第二个静态方法 声明可以包含此检查并减少您必须编写的样板文件。

public class Level {
public void tick();
public static void tick(Level level);
}

level.tick(); // Safe to call if level can't be null
Level.tick(level); // Safe to call in any case

设计应用程序,使变量值永远不会或仅在特殊情况下为 null 可以让您免于很多麻烦。

关于java - 'level.tick()' 和 'Level.tick(level)' 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14253121/

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