面向对象---静态
什么时候使用静态?
要从两方面下手:
因为静态将会修饰成员变量或函数
什么时候定义静态变量?
当对象中出现共享数据时,该数据应该修饰为静态数据
对象中的特有数据要定义成非静态存在于堆内存中
什么时候定义静态函数?
当功能内部没有访问到静态数据时,该功能可以定义成静态的
静态代码块
格式:
static
{
静态代码块中的执行语句
}
特点:随着类的加载而执行,只执行一次
用于给类进行初始化的。
class StaticCode
{
int num = 9;
StaticCode()
{//构造方法
System.out.println("b");
}
static
{//静态代码块
System.out.println("a");
}
{ //实例代码块
System.out.println("c");
}
}
当这个太被创建时,会先调用静态代码块 =》实例代码块 =》构造方法