静态语句块有什么用

来源:百度知道 编辑: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:父类静态方法只能被子类静态方法重写,发生多态时