zoukankan      html  css  js  c++  java
  • 静态代码块,构造代码块,main()

    静态代码块

    • 随Class 加载而加载,为Class 作初始化;
    • 在main() 之前加载;
    • 只执行一次;

    构造代码块

    • 随对象的创建而加载,为对象作初始化
    public class day04 {
    	public static day04 d1 = new day04();
    	//public static day04 d2 = new day04();
    	public day04(){
    		System.out.println("构造方法");
    	}
    	
    	{
    		System.out.println("构造代码块");
    	}
    	static {
    		System.out.println("静态代码块");
    	}	
    	
    	public static void main(String[] args) {
    		System.out.println("main()");
    		//day04 d = new day04();
    	}
    }
    

    输出顺序:

    1.构造代码块
    2.构造方法
    3.静态代码块
    4.main()
    
    public class day04 {
    	public static day04 d1 = new day04();
    	//public static day04 d2 = new day04();
    	public day04(){
    		System.out.println("构造方法");
    	}
    	
    	{
    		System.out.println("构造代码块");
    	}
    	static {
    		System.out.println("静态代码块");
    	}	
    	
    	public static void main(String[] args) {
    		System.out.println("main()");
    		day04 d = new day04();
    	}
    }
    

    输出顺序:

    1.构造代码块
    2.构造方法
    3.静态代码块
    4.main()
    5.构造代码块
    6.构造方法
    

    main()

    • 静态代码块在main() 方法之前加载:
    public class day04 {
    	//public static day04 d1 = new day04();
    	//public static day04 d2 = new day04();
    	public day04(){
    		System.out.println("构造方法");
    	}
    	
    	{
    		System.out.println("构造代码块");
    	}
    	static {
    		System.out.println("静态代码块");
    	}	
    	
    	public static void main(String[] args) {
    		System.out.println("main()");
    		//day04 d = new day04();
    	}
    }
    

    输入结果:

    1. 静态代码块
    2. main()
    
  • 相关阅读:
    关于配置文件权衡,.config VS .xml
    Google不支持小于12px字体 终极办法
    两个表循环的复杂度分析 征集
    SQL 计算列
    5分钟上手写ECharts的第一个图表
    NGif, Animated GIF Encoder for .NET
    Chart系列(一):Chart的基本元素
    一张广告图片引起的思维DFS
    洛谷 P2580 于是他错误的点名开始了
    洛谷 P1496 火烧赤壁
  • 原文地址:https://www.cnblogs.com/52liming/p/7905729.html
Copyright © 2011-2022 走看看