1
min 2014-01-16 10:48:13 +08:00
静态不应该叫对象了
static -> type instance -> object static method -> method of type instance method -> method of object type -> one copy per application at runtime object -> multiple objects per application at runtime |
2
66beta 2014-01-16 10:54:13 +08:00
实例化之后才叫对象,至少PHP跟C++是这样说的
从调用方式也可以区别: 对象->成员 对象::静态成员 类::静态成员 没写错吧~~ |
3
c742435 2014-01-16 11:02:17 +08:00
as程序猿表示,静态方法和静态对象都是类对象的方法和属性。实例化方法是普通new出来的对象上的方法。
java应该是差不多的。 |
4
cxe2v 2014-01-16 11:06:35 +08:00
最简单的告诉你,静态方法不用new就可以用,实例方法必须new了才能调用
|
5
arbipher 2014-01-16 13:44:23 +08:00
实例化对象,是根据一个抽象的模型(这里假定是Class,JavaScript这种基于prototype的比较复杂),构造出来的一个具体的对象。
什么是模型(Class)? 比如, 苹果。当我们谈论苹果时,指的是一种可红可绿可食用,能赶走医生的水果。 另一个例子, 人类。当我们谈论人时,指的是“没有羽毛的两足行走”的动物物种。 什么是实例(instance) 你从门口的水果摊上买个三个苹果,命名为甲、乙、丙。甲是这个苹果,乙是那个苹果,丙是另外一个苹果。甲、乙、丙,都是苹果的实例。有实例就有自我(id),甲就是甲。你把甲削皮,还吭了一口。 另一个例子, 你是一个人。我也是一个人。你发帖提问,我回答。 什么是实例方法(instant method) 必须是实例才能使用的方法。你可以在现实中给苹果甲削皮(调用实例的实例方法),你也可以在想象中给一个苹果削皮(定义一个类的对象可以使用的实例方法),但是你不可能在现实中给苹果这个概念削皮。现实中,只要你削皮了,削皮的对象就是一个具体的苹果。 削皮就是实例方法,你削皮的那个苹果就是实例。 静态的问题,我想一下应该怎么解释。 |