java构造器

[复制链接]
查看11 | 回复3 | 2008-6-19 15:48:15 | 显示全部楼层 |阅读模式
创建一个类,他包含了一个在定义时就被初始化了的string域,以及另一个通过构造器初始化了的string域,这两种的方式有何差异

回复

使用道具 举报

千问 | 2008-6-19 15:48:15 | 显示全部楼层
可以形象的打个比方:一对夫妻结婚后,两人就商量说,等我们有了孩子,我们就给我们的孩子取名叫着“大宝”这里如果我们两夫妻当成一个父母类,他们的第一个孩子就是对于你说的“在定义时就被初始化了的string域”也就是说,在这个孩子没出生之前,他的名字就已经被定格了事过1年,两夫妻商量说:等我们在有了孩子,我们要看性别取名字当两夫妻发现是个女的就叫“双儿”,发现是个男的就叫“韦小宝”而这第二个孩子的名字也就是对于你说的“通过构造器初始化了的string域”,这是在创建对象的时候才指定其值的(这里说的创建对象也就是知道孩子性别的时候,有点牵强,呵呵)=============================
回复

使用道具 举报

千问 | 2008-6-19 15:48:15 | 显示全部楼层
通过构造器初始的域的值是不定的 因为当你实例化这个类的时候 给的参数是不同的!! 而那个一个在定义时就被初始化了的string域确是固定写好的,他就相当于对象的一个属性一样。我的意思你地明白?
回复

使用道具 举报

千问 | 2008-6-19 15:48:15 | 显示全部楼层
这两种赋值不同之处在于执行的先后顺序,创建一个类时先初始化域变量,再是构造方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行