黑马程序员技术交流社区
标题: 帮忙解释解释 [打印本页]
作者: 屠赞华 时间: 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
你那个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 |