为了账号安全,请及时绑定邮箱和手机立即绑定

确定方法需要是静态的、私有的还是非静态的

确定方法需要是静态的、私有的还是非静态的

不负相思意 2022-08-17 16:43:30
我在确定方法应该是静态的还是私有的时遇到了麻烦。我问过不同的人,但何时使用两者背后的概念并不成立。任何人都可以给我举个例子吗?
查看完整描述

1 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

private并且是两个不同的概念,不直接比较。static

static表示方法或变量与类相关联,而不是与类的实例相关联。访问静态方法或变量时,可以使用类名访问它。假设你的Banana类有一个静态方法,那么你可以这样称呼它:.你不需要一个特定的,而只需要一个类。static String fruitName()Banana.fruitName()Banana

假设您有一个非静态方法,例如修改对象的状态并设置 。在这种情况下,您无法调用 ,因为您需要一个特定的 .喜欢这个:void peel()Bananapeeled = trueBanana.peel()peelBanana

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

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

class Banana {
  private int weight;
}

然后,您将只能访问类内的变量。这同样适用于标记为私有的其他内容,例如方法,类。weightBanana


查看完整回答
反对 回复 2022-08-17
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信