码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象_静态代码块

时间:2015-04-05 20:23:07      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

特点:随着类的加载而执行,只执行一次,并优先于主函数
作用:用于给类进行初始化用的

格式:
  static{
     静态代码块中的执行语句
  }

 1 public class StaticCode1 {
 2     static{
 3         System.out.println("b");
 4       }
 5     public static void main(String[] args) {
 6         new StaticCode();
 7         new StaticCode();
 8         System.out.println("c");
 9     }
10     static
11     {
12         System.out.println("d");
13     }
14 }
15 class StaticCode{
16     static
17     {
18         System.out.println("a");
19     }
20 }
21 //打印结果是:b  d a c

 

 1 class Demo{
 2     //静态变量和静态代码块,即使还没创建对象就已经存在代码区了,静态代码块自动执行
 3     static int i = 1;
 4     static{//静态代码块只执行一次
 5         System.out.println("a");//没对象也可以打印出来
 6         i++;
 7     }
 8     public Demo(){
 9         System.out.println("b");
10         i++;
11     }
12 }
 1 public class StaticCode2{
 2     public static void main(String[] args) {
 3         new StaticCode5();//结果是acb
 4         new StaticCode5(4);//结果是acd
 5     }
 6 }
 7 class StaticCode5{
 8     StaticCode5(){
 9         System.out.println("b");
10     }
11     static{//静态代码块用于给类初始化(类一加载只执行一次,再创建第二个对象不会再执行,因为类已经加载进来了)
12         System.out.println("a");
13     }
14     //构造代码块用于给所有对象统一初始化
15     {
16         System.out.println("c");
17 
18     }
19     //构造函数给对应对象初始化的
20     StaticCode5(int x){
21         System.out.println("d");
22     }
23 }

 

面向对象_静态代码块

标签:

原文地址:http://www.cnblogs.com/LO-ME/p/3551998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!