A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

这三个代码老是分不清,请大家解释一下,他们都是给谁进行初始化的,有什么区别吗,最好用代码说写一下,静态代码块,构造代码块,构造函数

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

5 个回复

倒序浏览
构造函数:
作用:对象一建立就会调用与之对应的构造函数,所以可以给对象进行初始化。
构造代码块:作用:给对象进行初始化。对象一建立就运行,而且优先于构造函数执行。
构造代码块与构造函数的区别:构造代码块是给所有对象进行统一初始化。而构造函数只给对应的对象初始化。
静态代码块:
特点:随着类的加载而执行,只执行一次,并优先于主函数。
用于给类进行初始化。
记住:静态代码块给类初始化;

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

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

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报 1 0
static{}静态代码块,      第一次创建类时执行
{}   构造代码块             每次创建类都会执行,
构造函数                       构造代码块执行完之后执行
你自己写个程序实验下 加深印象

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
静态代码块:加载类的时候执行其中的内容
构造代码块:建立对象的时候执行其中内容
构造函数:建立对象的时候构造函数对对象初始化
执行次序:静态代码块→构造代码块→构造函数

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报 1 0
构造代码块
作用:给对象初始化,对象一经建立就开始运行,优先于构造函数运行。
构造代码块是给所有对象进行初始化的。
构造函数是给对应的对象初始化的。
eg:
class Person
{
        private int age;
        {
                cry();
        }
        Person()
        {
                构造函数语句;
        }
}

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

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


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

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
楼上说的太好了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马