黑马程序员技术交流社区

标题: 构造函数 [打印本页]

作者: 梁志兵    时间: 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