黑马程序员技术交流社区

标题: 关于构造代码块,静态代码块的提问 [打印本页]

作者: 0618-蔺飞飞    时间: 2015-7-5 08:17
标题: 关于构造代码块,静态代码块的提问
各位大神,早上好!我现在复习构造代码块与构造方法时有点犯懵,请帮我解释一下什么是构造方法,在什么情况下使用,什么是静态代码块,在哪里使用?最好有举例好吗?
作者: a80194367    时间: 2015-7-5 08:47
构造函数方法和构造代码块的区别:代码如下
  1. 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();       }      }
复制代码
运行结果:

由结果可知,类实例构造代码块优先于构造函数运行。
构造函数:1.类名一致,不能使用static修饰,被void修饰后则为一般函数.2.一个类中可以有多个构造函数,调用根据形参区分. 3.可以有return,但不能返回任何内容.
作用:  给对象初始化,希望回答的还算全面

-wk-7f56accaa47ae4733dd2008e80f8a900-0.png (29.2 KB, 下载次数: 6)

-wk-7f56accaa47ae4733dd2008e80f8a900-0.png

作者: samove    时间: 2015-7-5 08:47
构造代码块就是在class类里面一个单独的{}内的内容,静态代码块就是在这个大{}前加static,构造方法,顾名思义,是方法,是构造函数,就是和类名一样的东东的{}。同理,代码块就真是只是一块代码,加了{}而已,因为在class里面不能直接写,要加{}。
作者: zhjunwenyy    时间: 2015-7-5 14:47
构造方法是在创建对象时,根据自定义的一些参数来给对象初始化; 构造代码是对象创建时,就会使用这段代码给对象初始化,比如给成员变量赋值或者其他一些操作;静态代码块随着类的加载而加载,不需要创建对象
作者: 思考。。。    时间: 2015-7-5 15:32
静态代码块随着类的加载而加载,它优先于构造代码块和构造函数,构造代码块是随着对象的创建而出现的,当对象创建完后,构造代码块优先于构造函数执行。
作者: (晶小羊)    时间: 2015-7-5 23:02
学会了,谢谢大家了




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