admin管理员组文章数量:1530842
2024年7月18日发(作者:)
Java中的静态变量、静态方法、静态块与静态类
在Java中,static是一个关键字,我们不能用它来作为类名或包名,static主要有四种用途,即作为静态
变量、静态方法、静态块和静态类。
1、静态变量Java static variables
静态变量就是类变量,它并不属于类的实例,仅属于类本身。在所有能访问该类的地方,也就可能访问或
修改该变量,它是非线程安全的,因此,静态变量通常是和final关键字结合在一起,用来标识该变量是一
个公共资源和常量。
只要静态变量不是private私有的,那么我们可通过leName的方式进行访问。
//static variable example
private static int count;
public static String str;
public static final String DB_USER = "myuser";
2、静态方法Java static methods
静态方法与静态变量一样,也是属于类本身而不属于类的实例对象。在一个静态方法中,除了局部变量外,
它能访问的外部变量也必须是静态的,能访问的外部方法也必须是静态的,实例变量和实例方法均不能访
问。
在绝大多数情况下,静态方法通常是public的,作为工具类的工具方法出现。
//static method example
public static void setCount(int count) {
if(count > 0)
= count;
}
//static util method
public static int addInts(int i, js){
int sum=i;
for(int x : js) sum+=x;
return sum;
}
3、静态块Java static Block
静态块是由一些语句组成的段落,它在类被加载进内存时执行,且无论类被使用多少次它都只会执行一次。
一个类的静态块可以有多个,其执行顺序由它在代码中的顺序决定。
在静态块中,我们通常进行一些需要进行异常捕获的静态变量的初始化。
static{
//can be used to initialize resources when class is loaded
n("StaticExample static block");
//can access only static variables and methods
str="Test";
setCount(2);
}
4、静态类Java static methods
静态类都是内部类,static不能用于修饰顶级的类。对于单例模式用静态类来实现就是一个很不错的选择。
5、完整示例
package ;
public class StaticExample {
//static block
static{
//can be used to initialize resources when class is loaded
n("StaticExample static block");
//can access only static variables and methods
str="Test";
setCount(2);
}
//multiple static blocks in same class
static{
n("StaticExample static block2");
}
版权声明:本文标题:Java中的静态变量_静态方法_静态块与静态类 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1721262945a868675.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论