static关键字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了static关键字相关的知识,希望对你有一定的参考价值。

8-30日学习笔记:记录学习阶段的点点滴滴。

static关键字:

  static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。

  1.static变量:static变量是一种静态变量(也可以成为类变量),静态变量被所有的对象所共享,在内存中只有一个副本(它唯一的一块内存)它当且仅当在类初次加载时会被初始化。(和对象无关) 而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。

  2.static方法:它也被称为是类方法,是一种直接通过类名调用方法 ,不需要通过对象调用。

  在《Java编程思想》P86页有这样一段话:“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”

  static方法和非static方法:

  static方法被称为类方法。static变量被称为类变量。(不需要创建对象,没有行为的类采用static方法。)
  非static方法称为对象方法。非static变量称为对象变量。
  虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的

  注意的是:static方法是无法调用它所在class的属性信息,static也不允许用来修饰局部变量。

  3.static代码块:调用所在类中的任何属性和方法时,都会首先调用静态代码块静态代码块,在程序运行期间,只被执行一次静态代码块的主要用途,给所在class中的static变量初始化。

static{
        proName = "宠物游戏";  //读取配置文件,给staic变量赋值
}        

 

因为自己还在初级学习阶段,导致有很多static关键字的内容没有谈到(毕竟还不会了啦/w\\,

在这里给大家推荐个很详细的解析:http://www.cnblogs.com/dolphin0520/p/3799052.html 大家去看看啦。

以上是关于static关键字的主要内容,如果未能解决你的问题,请参考以下文章

面向对象基础——static关键字和代码块的使用

代码片段 navbar

static关键字,代码块,abstract关键字,interface,内部类,异常处理

static关键字静态代码块

Java——static关键字

static关键字