在读书时,我发现了这句话:
对象的方法定义其行为。这些方法称为实例方法。重要的是要注意这些方法属于该类的每个对象。 这不应与所有类实例共享的方法的实现相混淆。
我知道实际的方法是什么,我知道静态方法是什么(即由类的所有实例共享)。上述陈述似乎表明所有实例都共享方法的实现。这到底是什么意思?它听起来不像是指静态方法。
答案 0 :(得分:8)
这意味着您不会在每个类实例旁边获得代码本身的额外副本。该行为与该类的实例相关联,因此它具有上下文,但是对于实例方法,没有额外的“每个实例”价格来支付内存等。
关于static
的一点注意事项:我不喜欢它的描述“被所有类的实例共享”,因为这表明如果没有任何实例,它无法使用。我更喜欢说它与类本身相关联,而不是类的特定实例。
答案 1 :(得分:1)
实例共享实现,但实现对单个实例起作用。