Static关键字
Static关键字
static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的(即非静态方法可以调用静态方法,而静态方法不能调用非静态方法)。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。
static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。
1 public class StaticTest { 2 int id; 3 String name; 4 String pwd; 5 static String company = "static练习"; 6 7 public void login(){ 8 System.out.println("登陆了:"+this.name); 9 System.out.println(company); //非静态方法可调用静态 10 } 11 12 public static void printCompany(){ 13 System.out.println(company); 14 //login(); 静态方法不能调用非静态方法 15 } 16 17 public static void main(String[] args) { 18 StaticTest s = new StaticTest(101, "黄某某"); 19 s.printCompany(); 20 s.company = "敲代码的黄某某"; 21 s.printCompany(); 22 } 23 24 }
浙公网安备 33010602011771号