Java 类实例化实例,静态是特定于类的,那么为什么实例不';不共享静态属性?
Java 类实例化实例,静态是特定于类的,那么为什么实例不';不共享静态属性?,java,oop,static,Java,Oop,Static,static属性是特定于类的,对我来说,这意味着它只是类的一个属性。我知道实例使用实例变量。我的问题是,如果我创建一个名为Animal的类,并创建一个名为live的静态属性(这是有意义的,因为活着是动物的静态属性),那么为什么它不适用于dog,human,而只适用于类Animal?它们都是活动的,在这里我可以看到实例真正共享这个静态属性live 请不要给我Java定义或Oracle文档定义;这些我都知道。作为一个初学者,我想知道为什么它在字面上没有意义 class Animal { int
static
属性是特定于类的,对我来说,这意味着它只是类的一个属性。我知道实例使用实例变量。我的问题是,如果我创建一个名为Animal
的类,并创建一个名为live
的静态属性(这是有意义的,因为活着是动物的静态属性),那么为什么它不适用于dog
,human
,而只适用于类Animal
?它们都是活动的,在这里我可以看到实例真正共享这个静态属性live
请不要给我Java定义或Oracle文档定义;这些我都知道。作为一个初学者,我想知道为什么它在字面上没有意义
class Animal {
int age;
}
上述情况表明,包括动物亚类实例在内的每一个动物实例都有一个年龄
,并且每一个都是独立的:动物不能看到或影响彼此的年龄。在内部,当您调用newanimal()
或newdog()
时,Java会在该实例中为年龄
留出空间
class Animal {
static String kingdom = "Animalia";
}
但是,这一个表示名为Animal
的类有一个属性,即Animal.kingdom
。该kingdom
属性在没有动物实例的情况下可用,并且(在Dog扩展Animal的层次结构中)它似乎可以作为Animal.kingdom
、Dog.kingdom
、someanimalistance.kingdom
和somedogdoginstance.kingdom
使用。然而,所有这些都是出于礼貌提供的:官方访问者是Animal.kingdom
,并且无论您有多少动物或其子类的实例(包括零),只有一个
相关:
上述情况表明,包括动物亚类实例在内的每一个动物实例都有一个年龄
,并且每一个都是独立的:动物不能看到或影响彼此的年龄。在内部,当您调用newanimal()
或newdog()
时,Java会在该实例中为年龄
留出空间
class Animal {
static String kingdom = "Animalia";
}
但是,这一个表示名为Animal
的类有一个属性,即Animal.kingdom
。该kingdom
属性在没有动物实例的情况下可用,并且(在Dog扩展Animal的层次结构中)它似乎可以作为Animal.kingdom
、Dog.kingdom
、someanimalistance.kingdom
和somedogdoginstance.kingdom
使用。然而,所有这些都是出于礼貌提供的:官方访问者是Animal.kingdom
,并且无论您有多少动物或其子类的实例(包括零),只有一个
相关:“这是有道理的,因为活着是动物的静态属性”不,不是每个动物都应该有自己的生命,不是吗?一些阅读:如果我们谈论的是活的动物,那么它们都是“活的”,不是吗?所以狗是活的,人是活的,同时动物也是活的。”这是有道理的,因为活着是动物的静态属性。“不,不是每种动物都应该有自己的生命,不是吗?一些阅读:如果我们谈论的是活的动物,那么它们都是“活的”,不是吗?所以狗是活的,人是活的,同时动物也是活的。