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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 乔叶旭 中级黑马   /  2012-11-29 22:18  /  1865 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 乔叶旭 于 2012-11-30 19:47 编辑

   一、构造器在类的内部只能定义一个public 属性的吗?

   二、如果类文件中构造函数(有参)已经存在,那么在存在main函数的文件中就不能new 出 无参的构造函数吗?

   三、构造器中的代码什么时候执行?

   四、构造器重载时,应该注意什么?

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

3 个回复

倒序浏览
一:可以多个构造函数定义为public
二:如果有无参构造,可以用无参构造创建对象。
三:构造函数创建对象执行。
回复 使用道具 举报
1.可以定义为其他的访问权限,比如说private,单例设计模式里面就是把构造器定义为private的
2.如果类文件中只定义了有参构造函数,没有定义无参构造函数,那么不能new出无参的构造函数,这个我是测试过的,如果new无参的构造函数会出现找不到符号的错误。
3.在创建对象的时候执行,即new 构造方法名(){},时执行
4.如果用到super关键字,需要放在第一行

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
1.单例设计模式中的private,但是Singleton Pattern也提供一个静态的访问方法,至于其他的修饰符,或者一个或者是多个,也是可以的,但是要明白每一个定义都是有它的的好处和用法的  (如     Singleton Pattern)
2.可以new出无参的构造函数,前提是写出一个无参数的构造函数,让其不被其他有参数的构造器给覆盖掉
3.实例化的时候,首先加载的是静态语句块{},然后是静态属性(也就是类加载),new的时候会用到构造器(返回的是一个对象),就在构造器执行的时候里面的代码(里面还有更细分的层次)
4.构造器重载,无非是方法签名(修饰符,方法名,参数类型和个数的一种综合),注意点是返回值不同不能做为重载的依据(若是方法没有用到返回值的时候,系统不知道怎么区分这些方法了).
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马