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("静态代码块运行!");
    	}


  • 相关阅读:
    Java8 Stream Function
    PLINQ (C#/.Net 4.5.1) vs Stream (JDK/Java 8) Performance
    罗素 尊重 《事实》
    小品 《研发的一天》
    Java8 λ表达式 stream group by max then Option then PlainObject
    这人好像一条狗啊。什么是共识?
    TOGAF TheOpenGroup引领开发厂商中立的开放技术标准和认证
    OpenMP vs. MPI
    BPMN2 online draw tools 在线作图工具
    DecisionCamp 2019, Decision Manager, AI, and the Future
  • 原文地址:https://www.cnblogs.com/jatpeo/p/11767620.html
Copyright © 2011-2022 走看看