黑马程序员技术交流社区

标题: static为什么不可以修饰构造方法 [打印本页]

作者: 黑色皮肤的马    时间: 2016-1-15 20:58
标题: static为什么不可以修饰构造方法
static为什么不可以修饰构造方法

作者: wxw19910324    时间: 2016-1-15 21:27
视频教程里面都有
作者: fagug    时间: 2016-1-15 21:43
java规定了静态和构造函数的加载顺序,静态的加载优先于对象的建立。被static修饰的成员变量和成员方法独立于该类的任何对象,它随类的加载而加载且不依赖类特定的实例,被类的所有实例共享。构造函数为类中的成员变量赋初始值,饰构造方法的调用是随对象的建立调用的。所以static不可以修饰构造方法。
作者: 谁的苍茫    时间: 2016-2-9 16:18
因为构造方法是用来初始化类的,只有当对象被new的时候才用构造方法初始化而静态是随着类的加载而加载,所以如果static修饰构造方法,那构造方法应该什么时候加载呢
作者: boboyuwu    时间: 2016-2-11 16:59
构造方法是为了创建对象的,如果你用static修饰之后 那么这个对象就会一直存在,java觉得你用static修饰有意义吗?,构造方法目的就是创建对象的时候对对象进行初始化的,用Static修饰完全找不到一点意义
作者: boboyuwu    时间: 2016-2-11 17:04
构造方法是为了初始化,假如构造方法可以用static修饰啊,那么类名.构造方法调用构造方法的时候这个时候构造方法中的所有调用成员变量都要是static的,一点意义都没有啊,java中没有意义的全部都会禁用
作者: 宋叔辉    时间: 2016-2-11 19:00
static随着类的出现而出现,而构造方法是创建对象时出现的
作者: bolt    时间: 2016-2-11 20:31
本帖最后由 bolt 于 2016-2-11 20:32 编辑

你好,静态,有固定稳定不变的含义。静态是根据类的加载而加载的,先于对象而存在的。
构造方法是针对对象的创始化,视乎对象不同也会不同,这就决定了构造方法不可能是静态的,也就没必要加。


作者: a373033860    时间: 2016-2-11 21:42
这是规则吧,记住就行了
作者: relice    时间: 2016-2-14 00:53
初始化顺序
作者: ApiceLove    时间: 2016-2-14 11:22
静态是跟类相关的,构造方法是跟对象相关的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2