java--static與代碼塊


static與代碼塊:

static

class Student{
	
	static String school;  // 隨着類的加載而執行 可以由類進行調用
	
	static {
		// 靜態代碼塊 加載類時需要進行的初始化操作,比如說加載驅動
	}	

	public static void study(){
		// 靜態方法 ,可以調用其他的靜態方法。
		// 可以調用其他 靜態變量
		// 但是不可以調用非靜態的變量 ,加載時間不同
	}
}

//應用場景實例: java中的工具類,如Math。
Math.floor(1.6)  // 1.0 (向下取整)
Math.ceil(1.2)  // 2.0 (向上取整)
Math.round(1.6) // 2.0
Math.round(1.2) // 1(四舍五入 返回long型)
Math.abs(-10)  // 10 (取絕對值)
Math.PI  //3.141592
Math.Max(3.0, 2.0)  // 3.0
Math.pow(2.0, 3.0)  //8.0  (次冪)
Math.random()  // double類型的隨機數(0~1)

構造代碼塊

// 隨着對象的實例而執行   (實例化一個對象就執行一次)
{
	//構造對象時的公共部分
}

面試題

public class BlockTest {
	static {
		System.out.println("BlockTest靜態代碼塊執行");     //1
	}
	
	{
		System.out.println("BlockTest構造代碼塊執行");
	}
	

	public BlockTest(){
		System.out.println("BlockTest無參構造執行了");
	}
	
	public static void main(String[] args) {
		System.out.println("BlockTest的主函數執行了");   //2
		Coder c = new Coder();
		Coder c2 = new Coder();
	}
}

class Coder {
	
	static {
		System.out.println("Coder靜態代碼塊執行");    //3
	}
	
	{
		System.out.println("Coder構造代碼塊執行");	//4   6
	}
	
	public Coder() {
		System.out.println("Coder無參空構造執行");	//5   7
	}	
	
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM