静态代码块,构造代码块,局部代码块演示

public class Test{

   static int num;
   static int numObj;//记录有多少个对象产生!
   static{//静态代码块, 是用来给类进行初始化的!
       //num = 10;
       ++num;
       num *=12;//没有进入静态代码块之前,num的初始化值是0
       System.out.println(num);
       //main(null);//静态代码块中可以调用main, 想一想也是, 大家都是静态的嘛!
   }

   //先执行构造代码段, 然后指行构造函数

   {//这叫做构造代码段,可以给所有对象进行初始化!每一个对象产生时都会执行!
      ++numObj;
      System.out.println("构造代码段!");
   }

   public Test(){//在构造方法中进行对象实例的计数
       //++numObj;
      System.out.println("构造函数!");
   }

   public void finalize(){//当对象生命周期结束时调用
       System.out.println("对象释放!");
       --numObj;
   }

   public static void show(){
       System.out.println("创建的实例个数:" + numObj);
   }

   public static void main(String[] args){
        System.out.println("静态代码段是用来初始化类的!");
        Test t1 = new Test();
        t1.show();

        {//局部代码段
           new Test();
        }
        System.gc();//启动垃圾回收器!
	new Test();

        new Test();

	System.out.println(Test.numObj);
   }
}

  

静态代码块,构造代码块,局部代码块演示

时间: 2024-10-13 00:55:54

静态代码块,构造代码块,局部代码块演示的相关文章

Java中的局部代码块、构造代码块、静态代码块

局部代码块: 作用:控制变量的生命周期: 在程序中,当我们已经使用完 x 后,并且在接下来的代码中,不会再用到x,那么就没必要让x 在内存中占用空间了,这用情况下,可以使用 局部代码块,将x及其所设计到的区域封装为局部代码块,他们在程序执行中顺序不变,只是在执行完成后消失. 表现形式,以代码体现如下: class TestDemo { public static void main(String[] args) { { int x = 9; System.out.println(x); } Sy

静态、构造、局部代码块 构造方法

总结 一.静态代码块(最大优先级) 静态代码块随着[类]的加载而执行,且只执行一次(至于类什么时候加载,这是一个高深的问题) 静态代码块的作用:给[类],而非对象,进行初始化 在Java工程的入口类中,静态代码块优先于 public static void main(String[] args)  函数执行 二.构造代码块与构造函数: 构造代码块是和构造函数同级的用 { } 包起来的一个代码块 构造函数每执行一次(即new一个对象),构造代码块就运行一次 构造代码块总是优先于构造函数而执行,有多

关于构造代码块、局部代码块和静态代码块的作用和区别

构造代码块: 直接在类中定义且没有加static关键字的代码块称为{}构造代码; 作用:给对象统一初始化数据 public class Demo1 { public static void main(String[] args) { Test test = new Test(3); //构造代码块会在构造函数被调用时执行, 且在这个例子中比"this.id=id;"语句先执行,作用是给对象统一初始化数据; System.out.println(test); } } class Test

【code block】局部代码块+构造代码块+静态代码块

1.局部代码块 位置:位于类的方法中 表示方法:{} 作用:控制变量的生命周期,减少内存消耗 demo: public class LocalCode { public static void main(String [] args){ int y = 10; { int x = 20; System.out.println(x); } System.out.println(y);//运行到此时x变量已被垃圾收集 } } 2.构造代码块 位置:位于类中 表示方法:{} 作用:用于给每个对象进行初

java中静态代码块(static{...}),局部代码块(方法中{...}),构造代码块(类中{...})区别。

1.局部代码块: 格式:在方法中{局部代码块执行语句} 局部代码块,又叫普通代码块.它是作用在方法中的代码块. 作用:是控制变量的生命周期. 在程序中当我们定义完成一个局部变量x之后,并且在接下来的代码中,不想再用到它时,那么就没必要让x在内存中继续占用空间.因此就有了局部代码块. 2.构造代码块: 格式:在类中{构造代码块执行语句} 作用:就是给所有对象进行初始化. 注意几点: 1)每次创建对象他都会执行. 2)构造代码快是优于构造函数执行. 3)构造代码块与构造函数的区别是:构造代码块是给所

构造代码块/局部代码块/静态代码块

构造代码块 直接在类中定义且没有加static关键字的代码块称为{}构造代码; 作用:给对象统一初始化数据 例子:随处可见: Test test = new Test(6); 局部代码块 典型例子:while/ for循环 静态代码块 典型例子:单例设计模式中,喜欢用这个作为控制外界进行创建新实例的反面例子(因为只要调用基类里面的方法,这个静态代码块都要被调用,加了private也毫无意义)! private static Singleton instance = new Singleton()

局部代码块和构造代码块

局部代码块 1 package com_package2; 2 3 public class Person3Demo { 4 public static void main(String[]args) 5 { 6 Person3 p = new Person3(); 7 p.speak(); 8 Person3 p1 = new Person3("hejinjin",23); 9 p1.speak(); 10 Person3 p2 = new Person3("hejinji

Java 代码块,普通代码块,构造代码块,静态代码块

学习Java中… 刚刚学到了Java的代码块,虽然很简单 还是记下吧! 左音 2016-03-16 ----------------- // 执行优先级:静态代码块 > mian方法 > 构造代码块 > 构造方法 // 静态代码块不论是否实例化都会执行一次,不会重复执行 // 构造代码块实例化时执行 1.普通代码块 // 普通代码块在方法或语句中 1 public class CodeBlock { 2 3 public static void main (String[] args)

Java中静态代码块、构造代码块、构造函数、普通代码块(转载)

转载自:http://www.cnblogs.com/ysocean/p/8194428.html 目录 1.静态代码块 ①.格式 ②.执行时机 ③.静态代码块的作用 ④.静态代码块不能存在任何方法体中 ⑤.静态代码块不能访问普通变量 2.构造代码块 ①.格式 ②.执行时机 ③.构造代码块的作用 3.构造函数 4.普通代码块 5.执行顺序 6.父类和子类执行顺序 在Java中,静态代码块.构造代码块.构造函数.普通代码块的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序