static修饰的变量、常亮和方法被称为静态变量、常量和方法。
被声明为static的变量、常量和方法被称为静态成员。静态成员属于类所有,区别于个别对象,以在本类或其他类类使用类名和“.” 运算符调用静态成员。
package javademo;
public class StaticTest {
static double PI = 3.14; //在类中定义静态变量
static int id; //咋类中定义静态变量
public static void method1(){ //静态方法
//doSomething
id = 2;
System.out.println("1");
}
public void method2(){//实例方法
method1();
System.out.println(StaticTest.PI);//调用静态变量
System.out.println(id);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
StaticTest test = new StaticTest();
test.method2();
method1();
}
}
虽然静态成员也可以使用“”对象.静态成员”的形式进行调用,但通常不推荐用这样的形式,因为这样容易混淆静态成员和非静态成员。
静态数据与静态方法的作用通常是为了提供共享数据方法,直接使类名调用静态成员即可。
在静态方法中不能使用this关键字。
在静态方法中不可以直接调用非静态方法。