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
	}	
	
}

posted @ 2019-06-21 12:48  it-pupil  阅读(1482)  评论(0编辑  收藏  举报