zoukankan      html  css  js  c++  java
  • java基础之静态代码块,局部代码块,构造代码块区别。

    java中有几种常见的代码块,那怎样区别他们呢?

    这里就这些问题,浅谈下我个人的理解。

    1.局部代码块

    局部代码块,又叫普通代码块。它是作用在方法中的代码块。例如:

    public void show(){
    		{
    
     System.out.println("局部代码块运行!");
    		}
    	}
    作用:是控制变量的生命周期。

    在程序中当我们定义完成一个局部变量x之后,并且在接下来的代码中,不想再用到它时,那么就没必要让x在内存中继续占用空间。因此就有了局部代码块。

    2.构造代码块

    在类中:

    格式:{构造代码块执行语句}

    作用:就是给所有对象进行初始化。

    注意几点:1.每次创建对象他都会执行。

    2.构造代码快是优于构造函数执行。

    3.构造代码块与构造函数的区别是:构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化,因为构造函数是可以多个的,运行哪个构造函数就会建立什么样的对象,但无论建立哪个对象,都会先执行相同的构造代码块。也就是说,构造代码块中定义的是不同对象共性的初始化内容。

    public class Apple{
    	private String size;
    	//构造代码块
    		{
    			System.out.println("构造代码块运行!");
    			 size="大";
    		}
    }
    3.静态代码块

    作用:是对类进行初始化,若一个类包含多个静态代码块,那则是按照代码执行顺序执行。

    1.随着类的加载而执行,而且只一次。

    2.优先于主函数执行。

    3. 当类进入内存时,首先进行静态代码加载,例如静态代码块,用static 修饰的变量,函数等。静态代码块用于初始化类。构造函数是对对象进行初始化,而静态代码块可以对类进行初始化,就如在静态代码块中把静态变量 num 修改他的值。而且在一些不需要对类实例化的场合,静态代码块也可以非常有用。

    static{
    		System.out.println("静态代码块运行!");
    	}


  • 相关阅读:
    区块链开发之Corda训练营笔记12:Flow习题答案
    区块链开发之Corda训练营笔记11:Flow代码演示
    gitolite的部署
    python操作redis
    python多进程
    mysql索引
    mysql事务
    mysql外键
    mysql联合查询
    python常用模块之re模块(正则)
  • 原文地址:https://www.cnblogs.com/jatpeo/p/11767620.html
Copyright © 2011-2022 走看看