发新话题
移动帖子 加入精华 加入置顶 加入收藏 关注此帖

(答案)测试题1 - 构造器和代码块





(答案)测试题1 - 构造器和代码块

package lession1;

public class HelloWorld {

  private String name = "java2000";

  public HelloWorld() {

    this.name = "www.java2000.net";

  }

  public HelloWorld(String name) {

    System.out.println(this.name);

  }

  {

    name = "java2000.net";

  }

  static public void main(final String[] args) {

    new HelloWorld("http://www.java2000.net");

  }

}
这段代码的输出是
A:java2000
B:java2000.net
C:www.java2000.net
D:http://www.java2000.net
E:编译失败
F:运行异常

答案: B
java2000.net

分析:
代码块属于类一级的,他们在类初始化的时候运行,也就是说,这个代码和下面的这个代码等价
package lession1;

import java.io.PrintStream;

public class HelloWorld
{

    private String name;

    public HelloWorld()
    {
        name = "java2000";
        name = "java2000.net";
        name = "www.java2000.net";
    }

    public HelloWorld(String name)
    {
        this.name = "java2000";
        this.name = "java2000.net";
        System.out.println(this.name);
    }

    public static void main(String args[])
    {
        new HelloWorld("http://www.java2000.net");
    }
}
真是有趣的JAVA哦!呵呵!
快乐渡过每一天,减肥坚持每一天



编辑 回复 快速回复 TOP


Re:(答案)测试题1 - 构造器和代码块

确实很有趣。。
尤其是

# {
#
# name = "java2000.net";
#
# } 这段。
================================================
            蓝================法================典
================================================
编辑 回复 快速回复 TOP
发新话题