17. static与代码块
他跟之前学到的final和private有一个共同的特性,就是由他们定义的类、方法、对象、属性……都会被固定住。他的主要作用是定义静态的属性与静态的方法。
静态的属性与方法都可以直接被调用,可以不用new一个对象出来。
public class a{
static int sx1;
int sx2;
public static void ff1(){
}
public void ff2(){
}
}
public class b{//测试类
System.out.printf(sx1);//可以直接调用
System.out.printf(sx2);//!!!会报错
a dx = new a;
System.out.printf(dx.sx2);//必须new一个dx(对象)才可以被调用
ff1();//没错你没有看错,静态方法可以这么随意的调用
//或
a.ff1();//两种格式作用一样
dx.ff2();//嗯哼,非静态方法的调用,没有new一样要报错
}
代码块
常见的代码块分为:代码块和静态代码块
这属于课外知识点,了解了解就行
代码块一般用于赋予初始值,不常用
静态代码块一样的比较特别,你不管调用他多少次,他都只会运行一次,并且是和他所在的类一起运行,所以他最快。
public class a{
static{
//静态代码块
}
{
//代码块
}
public a{
//构造方法
}
}

浙公网安备 33010602011771号