![]() |
1
1
类方法遵循与对象(实例)方法相同的规则,除非您不能从类方法访问实例变量,显然是因为每个对象实例都分配了IVAR。 在您的示例中,“array”像往常一样,在堆上与每个调用一起分配。 |
![]() |
2
1
所有变量都存储在“内存”中,不管它们的存储类型(静态、自动、自由存储)、位置(堆栈或堆)、链接或作用域。变量只有在声明为静态时才是静态的。否则,类方法中的变量,无论是参数还是局部变量,都有函数或局部作用域,自动存储,没有链接,存储在堆栈上。 类方法具有全局范围和外部链接,尽管您可以向对象(包括类)发送消息,即使范围中没有处理程序。内部链接应该是可能的,但我认为该语言不支持使用内部链接声明方法。存储类型和位置并不真正适用于方法,但可以说方法具有静态存储。 |
![]() |
3
0
当呼叫
可以在类作用域中声明静态变量。正如您所期望的,所有实例和类(也称为静态)方法都可以访问这些。 |
![]() |
iasonas · 如何检查自定义注释? 5 月前 |
![]() |
Svyat · 如何创建一个类设置,其中两个类各包含另一个类的实例? 6 月前 |
![]() |
F-22 Destroyer · 遇到super()问题 10 月前 |
|
simply lemon · python上链表的添加方法 10 月前 |
![]() |
Minty · 自定义类中使用numpy数组进行左加法/右加法的不同行为 11 月前 |