Java基础-static 关键字解析

参考文章:
https://www.cnblogs.com/dolphin0520/p/3799052.html

static的应用:

1.static是为了在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。

只要类被加载了,就能通过类名进行访问。

2.static 可以用来修饰类的成员方法,类的成员变量

静态方法是不可以调用非静态方法,但是非静态方法能够调用静态方法, 因为静态方法是在类中的,而非静态方法必须要以来具体的对象才能被调用

static变量: 称为静态变量,静态变量可以被所有的对象所共享,在内存之中只有一个副本,它当且仅当在类初次加载时才会被初始化,而非静态变量时对象所拥有的,在创建对象的时候被初始化,存在多歌副本, 各个对象副本之间互相不影响。

3.static修饰代码块来优化程序性能:原理是static修饰的部分只会在类加载的时候执行一次

常见误区:

  • static关键字不会影响到变量或者方法的作用域和权限, 在Java之中能够影响访问权限的只有private, public, protected关键字
  • 可以通过this来访问静态成员变量
public class Main {  
    static int value = 33;
 
    public static void main(String[] args) throws Exception{
        new Main().printValue();
    }
 
    private void printValue(){
        int value = 3;
        System.out.println(this.value); //输出为33, 因为是通过this.value调用了静态变量。printValue只是一个局部变量,不会和this相互关联。
    }
}
posted @ 2018-11-22 23:09  AugusKong  阅读(191)  评论(0编辑  收藏  举报