黑马程序员技术交流社区

标题: 请问大家,静态代码块,构造代码块,构造函数,的问题 [打印本页]

作者: yjgoss    时间: 2013-12-18 17:13
标题: 请问大家,静态代码块,构造代码块,构造函数,的问题
这三个代码老是分不清,请大家解释一下,他们都是给谁进行初始化的,有什么区别吗,最好用代码说写一下,静态代码块,构造代码块,构造函数
作者: 松毛    时间: 2013-12-18 17:44
构造函数:
作用:对象一建立就会调用与之对应的构造函数,所以可以给对象进行初始化。
构造代码块:作用:给对象进行初始化。对象一建立就运行,而且优先于构造函数执行。
构造代码块与构造函数的区别:构造代码块是给所有对象进行统一初始化。而构造函数只给对应的对象初始化。
静态代码块:
特点:随着类的加载而执行,只执行一次,并优先于主函数。
用于给类进行初始化。
记住:静态代码块给类初始化;

构造代码块给对象初始化;

构造函数给对应对象初始化。


作者: 四五六七八    时间: 2013-12-18 17:46
static{}静态代码块,      第一次创建类时执行
{}   构造代码块             每次创建类都会执行,
构造函数                       构造代码块执行完之后执行
你自己写个程序实验下 加深印象
作者: 風諾    时间: 2013-12-18 17:47
静态代码块:加载类的时候执行其中的内容
构造代码块:建立对象的时候执行其中内容
构造函数:建立对象的时候构造函数对对象初始化
执行次序:静态代码块→构造代码块→构造函数
作者: 城市儒侠    时间: 2013-12-18 19:27
构造代码块
作用:给对象初始化,对象一经建立就开始运行,优先于构造函数运行。
构造代码块是给所有对象进行初始化的。
构造函数是给对应的对象初始化的。
eg:
class Person
{
        private int age;
        {
                cry();
        }
        Person()
        {
                构造函数语句;
        }
}

静态代码块
随着类的加载而执行。只执行一次。优先于主函数运行。
用于给类进行初始化。
eg:
class Person
{
        static
        {
                静态代码块代码;
        }
}

构造函数
作用:对象一建立就会调用与之对应的构造函数,所以可以给对象进行初始化。


以上是我学习的过程中总结的,希望对你有所帮助。


作者: Travelling_ligh    时间: 2013-12-19 21:54
楼上说的太好了




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