static{...}是静态块,而只有{...}的是叫做构造块。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、网站空间、营销软件、网站建设、巨野网站维护、网站推广。
静态块在一个程序里面只执行一次;
而构造块是,只要建立一个对象,构造代码块都会执行一次。
静态块优先于主方法的执行,静态块优先于构造快,然后是构造方法的执行,而且只执行一次!
所以输出结果是:
static
block
instance1
block
instance2
Java静态代码块的作用:Java静态代码块中的代码会在类加载JVM时运行,且只被执行一次,也就是说这些代码不需要实例化类就能够被调用。一般情况下,如果有些代码必须在项目启动的时候就执行的时候,就需要使用静态代码块。
Java静态代码块的用法:一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化。例如:
static
{
int a=0;
}
您好,提问者:
首先静态代码块的作用是,只执行一次,不管是new还是直接类名。
构造函数用于传递或者初始化,如果想要这个类的方法或者变量,必须new初始化。
静态代码块:
用于初始化一些操作,例如数据库连接、配置文件读取等。
构造函数:
用于new
xxx(值),如果一个类不想被new可以把构造方法写为private类型。
java中有四种代码块
1.普通代码块:直接在{}中出现的。
2.构造代码块:在构造函数的{}中出现的。
3.静态代码块:static{}中出现的。
4.同步代码块:多线程中出现。
//构造块:直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。
public class CodeBlock02
{
{
System.out.println("第一代码块");
}
public CodeBlock02(){
System.out.println("构造方法");
}
{
System.out.println("第二构造块");
}
public static void main(String[] args){
new CodeBlock02();
new CodeBlock02();
new CodeBlock02();
}
}
/**
执行结果:
第一代码块
第二构造块
构造方法
第一代码块
第二构造块
构造方法
第一代码块
第二构造块
构造方法*/