静态语句块有什么用
来源:百度知道 编辑:UC知道 时间:2024/06/30 06:12:57
java的,举个例子
1.static的用法:
static用于修饰:属性,方法,语句块,内部内
语句块:在类内直接有大括号{},括号内有语句
内部类:类内有另外的类
作用:如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象,声明为static的变量实质上就是全局变量,所以对象共享。(类相关:类属性,类方法)
内存池:常驻内存,反复利用(数据库连接池常用)
静态池:static属性
class A{
static int b = 0;
}
A a1 = new A();
A a2 = new A();
内存图:栈:a1,a2,分别指向堆内的两个对象
堆:new A(),new A(),分别指向静态池中的静态值0
静态池:0
静态的属性/方法可以按照以下两种方式调用:
a.new 对象(), 对象. 调用
b.不创建对象,直接用类名.调用
静态的属性/方法是在类加载时完成处理的,静态语句块仅在类加载时调用一次,非静态语句块在对象创建时调用。加载发生的条件:new 对象(声明不加载类,也不创建对象)
类名.调用属性/方法
静态方法的特征:
类名.调用
静态方法不能使用非静态变量,也不能调用非静态方法,反之可以
父类静态方法只能被子类静态方法重写,发生多态时,静态方法调用父类重写前的
例子1:父类静态方法只能被子类静态方法重写,发生多态时