如果有一个A类,我实例化A的三个对象x,y,z,并且A中有一个函数foo(),那么f的机器代码是否存在三个副本(每个对象一个)?
课堂方法的目的是什么?当所有对象都有共享代码时,为什么还要使用类方法?它只是HLL程序员的抽象吗?
答案 0 :(得分:5)
不,不会。只有一个代码副本。但是,每个类实例都有自己的类成员变量副本。
答案 1 :(得分:2)
您还询问了Class Methods,它们也称为静态方法。
在这种情况下,仍然只有一个代码副本,但在执行时它只能修改静态成员,类的所有实例(对象)都会看到这些成员。