黑马程序员技术交流社区

标题: 帮忙解释解释 [打印本页]

作者: 屠赞华    时间: 2015-4-8 22:28
标题: 帮忙解释解释
class Penguin {
private String name=null; // 名字
private int health=0; // 健康值
private String sex=null; // 性别
public void Penguin() {
health = 10;
sex = "";
System.out.println("执行构造方法。");
}
public void print() {
System.out.println("企鹅的名字是" + name +
",健康值是" + health + ",性别是" + sex+ "");
}
public static void main(String[] args) {
Penguin pgn = new Penguin();
pgn.print();
}
}

作者: linliner    时间: 2015-4-8 23:39
null  0  null嘛
作者: 海贼王019    时间: 2015-4-9 00:21
没有给它赋值就是  null 0 null
作者: kayaking    时间: 2015-4-9 00:42
没有赋值啊,null 0 null
作者: wkz_crystal    时间: 2015-4-9 00:46
程序中把类实例化之后,直接调用了print()方法,这其中的这三个值,都是默认的嘛,没有任何变化!不要以为是你自己覆写了构造方法,其实不是,如果你把public void去掉才是覆写构造方法,结果才是null,10,雄
作者: wkz_crystal    时间: 2015-4-9 00:47
wkz_crystal 发表于 2015-4-9 00:46
程序中把类实例化之后,直接调用了print()方法,这其中的这三个值,都是默认的嘛,没有任何变化!不要以为 ...

你那个public void Penguin(){}方法根本可以理解为另一个方法而已,注意这不是覆写构造方法哈!
作者: AndroidM    时间: 2015-4-9 00:51
打印:  ~~是null ,~~是0,~~null,是因为没有赋值,楼主的构造方法写错了,要去掉void,
作者: 刘潘敏    时间: 2015-4-9 01:07
你这是你明知顾问
作者: Nick_KJ    时间: 2015-4-9 01:20
构造函数不能有返回类型,如果有返回类型的话就变成了一个普通的方法;
而且,构造函数 虽然没有返回值类型修饰,但并不代表是void。 你加个public 没关系的。
你可以写 public Penguin()
             {
                  //你的代码:
             }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2