黑马程序员技术交流社区

标题: 构造函数和构造代码块比较 [打印本页]

作者: 心弦上的景致    时间: 2013-2-21 09:53
标题: 构造函数和构造代码块比较
  1.  class Demo
  2.   {
  3.   public Demo()//构造函数
  4.   {
  5.   int a=90;

  6.   { //构造代码块
  7.   int a=80;//未创建对象,不会运行。
  8.   System.out.println("构造代码a="+a);
  9.   }
  10.   public static void main(String []args)
  11.   {
  12.   System.out.println("运行结果");
  13.   new Demo();
  14.   }
  15.   }
  16.   运行结果:
  17.         构造代码 a=80
  18.         构造函数 a=90
  19.   结论:类实例构造代码块优先于构造函数运行
  20.   构造函数:
  21.   1.类名一致,不能使用static修饰,被void修饰后则为一般函数。
  22.   2.一个类中可以有多个构造函数,调用根据形参区分。
  23.   3.可以有return,但不能返回任何内容。
  24.   作用:
  25.   实现对象初始化
复制代码

作者: 罗海云    时间: 2013-2-21 09:57
赞一个。
作者: 陈丽莉    时间: 2013-2-21 11:06
本帖最后由 陈丽莉 于 2013-2-21 11:08 编辑

首先,感谢在云3版块发帖分享经验~

然后是我的几个想法:
1  请不要重复发同样的帖子,手机党的话。。只好尽量避免了~
2  请认真检查自己发的帖子,如这贴里面的代码,对照你的运行结果,构造函数是缺少输出语句的,而且还没有回大括号~
3  如果是感想贴,请将帖子类型改为感言,或者已解决~

欢迎支持云3版块,谢谢合作。
PS:下面是根据你的想法,可运行的代码:

public class Demo
{
       public Demo() //构造函数
       {
                int a = 90;
                System.out.println("构造函数  a="+a);
       }
   
       {
                int a = 80; //未创建对象,不会运行。
                System.out.println("构造代码  a="+a);
       }
   
       public static void main(String args[])
       {
                System.out.println("运行结果:");
                new Demo();
       }
}


作者: 符立波    时间: 2013-2-25 14:00
有想法...




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