对Java Static关键字的理解

 对Java Static关键字的理解

说之前先让我们谈谈什么是成员变量和局部变量吧

  • - 1) 成员变量:定义在类里面 ,可以不被初始化
  • - 2)局部变量:定义在方法里面,必须进行赋值操作(也就是初始化) ;在执行该方法时局部变量才被创建,执行方法完毕后被销毁 ;同一作用域下不可以定义两个名称相同的局部变量 如图所示

  • - 3)this关键字用来调用成员变量;
  • - 4)静态方法无法访问成员方法和成员变量,可以访问静态方法和变量;而成员方法可以访问静态和成员的变量和方法
  • - 5)抽象方法不能是静态

          对于一个静态的数组,不太可能在声明的时候完成初始化,这时候需要在静态代码块中完成初始化  如以下代码

punlic class StaticDemo{
    public static List<String> writes = new ArrayList<>();
    
    static{
        writes.add("理论1");
        writes.add("理论2");
    }
    static{
        writes.add("理论3");
        writes.add("理论4");
    }
}
  • - 6)静态内部类可以访问外部类的所有成员,包括private变量;不存在静态外部类

 

原文地址:https://www.cnblogs.com/nmydt/p/13047130.html