静态方法
静态方法即用static修饰的方法,其可以通过类名调用,也可以通过对象调用
public class Demo {
public static void main(String[] args) {
Test test = new Test();
test.method(); //对象调用
System.out.println("======");
Test.method(); //类名调用
}
}
class Test {
public static void method() {
System.out.println("静态方法");
}
}
输出
静态方法
======
静态方法
静态方法中只能访问静态方法或静态变量
public class Demo {
public static void main(String[] args) {
Test.methodC();
}
}
class Test {
public static int i = 666;
public int j = 9527;
public static void methodA() {
System.out.println("静态方法");
}
public void methodB() {
System.out.println("非静态方法");
}
public static void methodC() {
methodA();
System.out.println("i=" + i);
// System.out.println(j); 此处报错 java: 无法从静态上下文中引用非静态 变量 j
// methodB(); 此处报错 java: 无法从静态上下文中引用非静态 方法 methodB()
}
}
输出
静态方法
i=666
非静态方法
非静态方法只能通过对象调用
普通方法既可以访问静态成员又可以访问非静态成员
小结
静态方法,只能访问静态的成员;
非静态的方法,可以访问静态成员和非静态成员;