static的作用,什么是static?

  static 表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态代码块。但是java语言中没有全局变量的概念。static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。

因此只要这个类被加载,JVM就能根据类名在运行时数据区的方法区内定找到他们。而static对象可以在它的任何对象创建之前访问,无需引用任何对象。


  静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用thissuper关键字,不能直接访问所属类的实例变量和实例方法,(就是不带static的成员变量和成员方法),只能访问所属类的静态成员变量和成员方法。

private相当于访问权限限定,static表示不要实例化就可以使用。

private所修饰的变量或方法,表示这个变量或方法可以在本类的静态代码块中,或者本类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用),但是不能在其他类中通过类名来直接引用。

静态变量的好处:静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可以用类名直接访问(方便)
静态变量使用环境:在对象之间共享值时,方便访问变量时。

实例变量的好处:每创建一个实例,JVM就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)

猜你喜欢

转载自www.cnblogs.com/shiziwang/p/9955783.html
今日推荐