一、概述
public static是Java中的两个访问修饰符。public指明该变量、方法或类可以被其他任何类访问,static则指明它们属于类,而不是对象,可以在不创建对象实例的情况下使用。
在访问修饰符中,public和static也可以组合使用,为公共的静态变量或静态方法,可以直接使用类名访问。这使得使用静态成员变量和方法变得方便和高效。
二、public static 关键字的作用
1. public static修饰类:一个public的类可被任何其他类访问,而一个static的类只有一份,无需创建对象
public static class MyClass {
...
}
2. public static修饰属性(变量):公共静态属性可以被访问,也可以写入,而不必通过类的实例
public static int varible = 0;
3. public static修饰方法:公共静态方法可以直接简单地通过类名调用,不需要实例化类对象
public static void myMethod() {
...
}
三、public static 和单例模式
单例模式是一种创建型设计模式,确保一个类仅有一个实例,并提供访问该实例的全局点。
public static 可以与单例模式结合使用,这样就可以在程序的任意地方访问单例对象。
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return instance;
}
...
}
四、public static和Java多线程
多线程应用程序可能会涉及到并发处理,这时候public static就可以提供公共的共享内存。
在多线程应用程序中,每个线程使用该变量时,它们都在共享同一个命名空间。Java虚拟机基于public static关键字提供了一种都可以使用的单例实现方法。
public class MyThread implements Runnable {
public static int num;
public void run() {
num++;
}
}
五、public static和final关键字
public static 关键字可以与 final 关键字组成公共的常量。
常量是不能改变的值,如果值在程序中重复使用,则应该在程序的起始位置定义它,并对其进行命名。
public static final int MAX_SIZE = 100;
六、public static和接口
public static可以与接口一起使用,接口中的变量默认是public static final类型。
public interface MyInterface {
public static final int num = 0;
...
}
七、总结
public static是Java中两个常用的访问修饰符。其用法也非常广泛,可以用于类、属性、方法、常量、接口等等。经过合理使用,public static关键字可以使代码更加简洁,高效、易读。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/258514.html