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 }

 

posted @ 2021-07-04 23:00  风中一抹黄  阅读(49)  评论(0)    收藏  举报