zoukankan      html  css  js  c++  java
  • 静态代码块和非静态代码块

    相同点:两者都是在jvm加载类,构造方法执行之前执行,在类中可以定义多个,执行顺序为定义的顺序,一般在代码块中给静态成员赋值,静态代码块和静态成员变量执行顺序根据书写顺序来决定,非静态代码块在静态成员变量后执行

    不同点:静态代码块只执行一次,在类加载时自动执行的,非静态代码块每new一次对象就会执行一次

    静态代码块只执行一次 ,非静态代码块没new一次对象就会执行一次

    静态代码块是在类加载时自动执行的,非静态代码块是在创建对象时自动执行的代码,不创建对象不执行该类的非静态代码块

    public class Demo01 {
    
    
        public static  Integer i;
    
        {
            System.out.println("非静态代码块");
        }
    
        static{
            System.out.println("静态代码块");
        }
    
        public  Demo01(){
            System.out.println("构造方法执行");
        }
        public static void main(String[] args) {
            System.out.println("main");
           Demo01 demo01 = new Demo01();
           Demo01 demo011 = new Demo01();
    
        }
    }
    

      

    代码结果:

  • 相关阅读:
    HUD--2553 N皇后问题
    poj--2139
    poj--2236
    poj--2229
    poj--2376 Cleaning Shifts
    poj--3669
    poj--1979 Red and Black
    poj--1258
    经典DP问题--poj1088滑雪
    Poj 1041--欧拉回路
  • 原文地址:https://www.cnblogs.com/lqcswy/p/11985872.html
Copyright © 2011-2022 走看看