黑马程序员技术交流社区
标题: 构造函数 [打印本页]
作者: 梁志兵 时间: 2013-3-27 10:04
标题: 构造函数
本帖最后由 梁志兵 于 2013-3-27 12:02 编辑
class Person
{
private String name;
private int age;
Person(String n)
{
name = n;
}
Person(String n, int a)
{
name = n;
age = a;
}
}
class constructDemo
{
public static void main(String[] arg)
{
Person p =new Person("张三",1);
Person p1 =new Person("李四",0);
Person p2 =new Person("五五");
}
}
为什么编译运行没有 结果?
作者: 我手心里的宝 时间: 2013-3-27 10:28
1.你没有输出语句
2.对象已经建立,你没有输出语句或执行的动作
所以没有反应 你可以在构造方法中添加一条输出语句
或者对Person对象进行操作打印
作者: 唐永康 时间: 2013-3-27 10:31
class Person
{
private String name;
private int age;
Person(String n)
{
name = n;
System.out.println(n);//这个其实很简单,因为你没有打印语句,只需要在构造函数中加一句打印语句就可以了。
}
Person(String n, int a)
{
name = n;
age = a;
System.out.println(n+a);//这个其实很简单,因为你没有打印语句,只需要在构造函数中加一句打印语句就可以了。
}
}
class constructDemo
{
public static void main(String[] arg)
{
Person p =new Person("张三",1);
Person p1 =new Person("李四",0);
Person p2 =new Person("五五");
}
}
为什么编译运行没有 结果?
|
这个其实很简单,因为你没有打印语句,只需要在构造函数中加一句打印语句就可以了。
作者: lucy198921 时间: 2013-3-27 10:35
如果你想看到运行结果,那就需要借用打印语句来执行了.
另附个人对构造函数的总结.
________________________________________________________________
构造函数(构造方法)1什么是构造函数构造函数就是类中一定存在的以类名命名的一个方法.
2构造函数有什么用用于给对象初始化.
3怎么用构造函数(格式)格式:[修饰符] 类名(){}
1.方法名必须与类名相同
2.构造方法没有返回值类型 void也没有
3.构造方法只可以用权限修饰符修饰
4,不可以用return
4什么时候用构造函数建立一个类,就要建立构造函数
5构造函数有什么特点1,当一个类中没有构造方法时,jvm加载时会为其添加一个默认的构造方法,该方法是无参空的方法.(默认的是看不到的)
2,当我们手动添加一个构造方法后,默认的构造方法就不会在添加.
3,构造方法可以重载,重载后的好处是我们可以有多种方式来实例化这个类的对象
4,只能用权限修饰符修饰,如public private,不能用static.
作者: 宋耀冬 时间: 2013-3-27 10:46
你看不到运行的结果
你没写输出语句啊 怎么知道出结果呢
加一句 就可以看到了
不过你看到的应该是Person引用的地址值
name, age都私有的, 应该提供访问的方法
作者: HM何伟 时间: 2013-3-27 10:53
没有输出语句,看你的输出语句放在那个类中,如果放在Person类中,就可以直接输出打印了.如果放在constructDemo这个类中,那你在Person类还必须向外提供访问方式,以便constructDemo这个类能访问到Person类中的私有成员变量,或者是成员函数.
懂否?
作者: 陈丽莉 时间: 2013-3-27 11:09
若还有问题,请继续追问;没有的话,尽量及时将帖子分类改成【已解决】哦~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |