Java:普通コードブロック、コードブロック、静的コードブロックの構築
6177 ワード
回転:http://blog.csdn.net/jungle_hello/articale/details/51169517実行順序:(優先度が高いから低いまで)静的コードブロック>main方法>コードブロックの構造方法。静的コードブロックは一回だけ実行されます。コードブロックを作成すると、オブジェクトを作成するたびに実行されます。
class StaticBlock
{
int num = 9;
StaticBlock()
{
System.out.print("d ");
}
//
static
{
System.out.print("b ");
}
//
{
System.out.print("c "+num+" ");
}
StaticBlock(int x)
//
{
System.out.print("a ");
}
}
class StaticBlockDemo
{
public static void main(String[] args)
{
new StaticBlock(4);
}
}
//b c 9 a
1普通コードブロック// : {} 。 --“ ”
public class CodeBlock01{
public static void main(String[] args){
{
int x=3;
System.out.println("1, x="+x);
}
int x=1;
System.out.println(" x="+x);
{
int y=7;
System.out.println("2, y="+y);
}
}
}
/* : 1, x=3 x=1 2, y=7 */
2コードブロックを作成する// : 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();
}
}
/* * : */
3静的コードブロック// : java static 。 , 。 。 JVM , 。
// , " , "。
// :1 。2 , 。
class Code{
{
System.out.println("Code ");
}
static{
System.out.println("Code ");
}
public Code(){
System.out.println("Code ");
}
}
public class CodeBlock03{
{
System.out.println("CodeBlock03 ");
}
static{
System.out.println("CodeBlock03 ");
}
public CodeBlock03(){
System.out.println("CodeBlock03 ");
}
public static void main(String[] args){
System.out.println("CodeBlock03 ");
new Code();
new Code();
new CodeBlock03();
new CodeBlock03();
}
}
/* CodeBlock03 CodeBlock03 Code Code Code Code Code CodeBlock03 CodeBlock03 CodeBlock03 CodeBlock03 */