A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Observer 中级黑马   /  2016-8-5 22:46  /  801 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天课程static关键字的运用学的比较模糊,
今天试了下用static修饰构造方法,编译失败了,为什么不能用来修饰构造方法,
有参的构造方法我觉得是应为关键this,单独试了下无参的构造方法也是编译不通过

4 个回复

倒序浏览
构造方法是生成对象时由JVM自动调用的
回复 使用道具 举报
static修饰的变量和方法是类相关的,不是与类的实例相关。
构造函数是用来创建实例,即是实例相关的。因此static关键字不能用于修饰构造器,static修饰的类成员属于整个类,不属于单个实例。
你可以想想看,如果构造器真的可以用static修饰,是不是代表通过类的构造器构造出来的对象都是一样的?但是实际上,通过构造器构造出来的对象都是不一样的(使用==进行比较返回的都是false)。
回复 使用道具 举报
static修饰成员,随类的加载而加载的,而对象是在类创建之后
回复 使用道具 举报
Frankle 发表于 2016-8-6 10:06
构造方法是生成对象时由JVM自动调用的

你说的应该是构造代码块
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马