gpt4 book ai didi

java - 确定方法是否需要静态、私有(private)或非静态

转载 作者:行者123 更新时间:2023-12-01 17:46:08 24 4
gpt4 key购买 nike

我无法确定一个方法应该是静态的还是私有(private)的。我问过不同的人,但何时使用两者背后的概念并不固定。谁能给我举个例子吗?

最佳答案

privatestatic 是两个不同的概念,不能直接比较。

static 意味着方法或变量与类相关,而不是与类的实例相关。当访问静态方法或变量时,可以使用类名来访问它。假设您的 Banana 类有一个静态方法 static StringfruitName(),那么您可以这样调用它:Banana.fruitName()。您不需要特定的 Banana,而只需要类。

假设您有一个像 voidpel() 这样的非静态方法,它可以修改 Banana 对象的状态并设置 peeled = true。在这种情况下,您无法调用Banana.peel(),因为您需要特定的Banana。像这样:

Banana niceBanana = new Banana();
niceBanana.peel();

private 是一个不同的概念:它是一个可见性修饰符。它只是表明该事物只能从类内部访问。
因此,如果您的 Banana 类如下所示:

class Banana {
private int weight;
}

然后,您将只能在 Banana 类中访问 weight 变量。对于标记为私有(private)的其他事物(例如方法、类)也是如此。

关于java - 确定方法是否需要静态、私有(private)或非静态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55226377/

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