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()
    
  • 相关阅读:
    MIN (Transact-SQL)【转】
    ROW_NUMBER() OVER函数的基本用法用法【转】
    读取文件中的内容
    Stopwatch 和TimeSpan介绍【转】
    TimeSpan类【转】
    Stopwatch 类【转】
    ToString()使用方法
    用c#读取文件内容中文是乱码的解决方法:
    vue实现购物车和地址选配(二)
    vue实现购物车和地址选配
  • 原文地址:https://www.cnblogs.com/52liming/p/7905729.html
Copyright © 2011-2022 走看看