本帖最后由 郑文博 于 2012-6-29 16:10 编辑
- /*
- 构造代码块练习
- */
-
- class Person
- {
- private String name;
- private int age;
-
- Person()
- {
- }
- Person(String name)
- {
- this.name=name;
- }
- /**/
- {
- System.out.println("person code run");
- cry();
- }
- public void speak()
- {
- System.out.println("name="+name+"..age="+age);
- }
- public void cry()
- {
- System.out.println("cry.....");
- }
- }
- class PersonDemo
- {
- public static void main(String[] args)
- {
- Person p = new Person();
- Person p1 = new Person("xiaobei");
- p.speak();
- p1.speak();
- }
- }
复制代码 大家都知道构造代码块在对象一建立就运行,优先于构造函数。它的作用是给所有对象同意初始化。
以上这段程序的输出结果是:- person code run
- cry.....
- person code run
- cry.....
- name=null..age=0
- name=xiaobei..age=0
复制代码 我的问题是,问是否有方法可以达成输出结果顺序是以下这样呢?- person code run
- cry.....
- name=null..age=0
- person code run
- cry.....
- name=xiaobei..age=0
复制代码 --------------------------------编辑后分隔----------------------------------
多谢大家回复了,后来我也想到了。主要还是对 “对象一建立就运行”理解不够。 |
|