a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 60|回复: 0

[其他] JAVA技巧:Java中如何用构建器自动初始化

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
对于体例的建树,可将其想象成为自己写的每个类都挪用一次initialize {
3 @9 Q* h0 ]8 f  System.out.println(
7 a" p- i4 Y3 d3 W" x0 J" g  "Creating Rock number " + i);
  P) z6 h7 R5 T- @, p: H, ~  }6 `1 Q* M' _! u. X) R
  }public class SimpleConstructor {1 K/ d- ]5 f. `3 h# n, z
  public static void main(String[] args) {$ k& D  |8 H8 w
  for(int i = 0; i < 10; i++)
5 \( p6 u! u8 a$ P$ H  new Rock(i);" s  f, g+ i) B  S. p; t; M; W- |
  }
6 @" h5 P1 Z: L( H: {  }操作构建器的自变量,我们可为一个对象的初始化设定响应的参数。举个例子来说,假设类Tree有一个构建器,它用一个整数自变量标识表记标帜树的高度,那么就可以象下面这样建树一个Tree对象:tree t = new Tree(12); // 12英尺高的树若Tree(int)是我们独一的构建器,那么编译器不会许可我们以其他任何体例建树一个Tree对象。
$ V3 }2 J: j( ]. _- [  构建器有助于消弭年夜量涉及类的问题,并使代码更易阅读。例如在前述的代码段中,我们并未看到对initialize()体例的明晰挪用——那些体例在概念上自力于界说内容。在Java中,界说和初始化属于统一的概念——两者缺一不成。1 O! C8 f, Z, ~( W# W
  构建器属于一种较非凡的体例类型,因为它没有返回值。这与void返回值存在着显明的区别。对于void返回值,尽管体例自己不会自动返回什么,但仍然可以让它返回另一些工具。构建器则分歧,它不仅什么也不会自动返回,而且根柢不能有任何选择。若存在一个返回值,而且假设我们可以自行选择返回内容,那么编译器若干好多要知道若何对阿谁返回值作什么样的措置。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-17 07:36 , Processed in 0.288531 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表