有人能否给出一个简明易懂的静态变量和静态方法的定义?它们与非静态变量和方法有什么区别?
static
表示类方法和类变量(与实例方法和实例变量相对)。这些方法和变量可以在没有实例的情况下访问。length()
作用于一个对象:String a = "hello";
int len = a.length();
valueOf
不能操作一个对象; 此外,当它被调用时它会创建一个新的对象:String x = String.valueOf(123.45);
<objectName>
后跟一个点.
,而静态方法是使用<className>
后跟一个点.
来访问。我将展示示例以更清楚地理解静态方法。
在从键盘输入数据时,Java 使用 Scanner 类。
例如:Scanner scn = new Scanner(System.in); int a = scn.nextInt();
这意味着 nextInt() 方法不是静态的。
静态方法是一种可以在不实例化类的情况下使用的方法。
看以下示例:
public class Calculate {
static void calculatePower(int num, int pow) {
System.out.println(Math.pow(num, pow));
}
}
使用静态方法。
public static void main(String[] args) {
Calculate.calculatePower(2,8);
}
静态变量是所有类实例都使用的变量,而普通变量则会重新初始化。静态方法可以在不创建对象的情况下调用。