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关键字的主要内容,如果未能解决你的问题,请参考以下文章