static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块。
1、static成员
被static修饰的成员变量和成员方法独立于该类的任何对象。
按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫
静态变量或类变量
;另一种是没有被static修饰的变量,叫
实例变量
。两者的区别是:
对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。
对于实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)。
2、静态方法 (静态成员的访问)
静态成员是属于类的, 调用一个静态方法就是“类名.方法名”,调用一个静态成员就是“类名.变量名”,
静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字
,不能直接访问所属类的实例变量和
实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。因为实例成员与特定的对象关联!这个需要去理解,
想明白其中的道理,不是记忆!!!
因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。
3、static代码块
static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,
JVM
加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次
。例如:
public class Sample{
private static int a = 100;
private int b;
static{
b = 100; //静态块一般做初始化工作 init();
}
public static void main(String[]args){
System.out.println("两个常量的值分别为:"+a+""+b);
}
}
4、static和final一块用表示什么
static final用来修饰成员变量和成员方法,可简单理解为
“全局常量”
!
static final CITY_STREET ="city_street";
对于变量,表示一旦给值就不可修改,并且通过类名可以访问。
对于方法,表示不可覆盖,并且可以通过类名直接访问。
相关推荐
18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static关键字.zip18.static...
static关键字详解: 内容摘要: 一、static关键字定义属性 二、static属性与非static属性还有一个最大的区别,所有的非static属性必须产生实例化对象之后才可以访问,但是static属性不受实例化对象的控制,也就是 说...
细说Java中的static关键字声明的变量、方法、静态块
在C++中,static关键字是一个多功能且重要的修饰符,它可以用于变量、函数、类成员以及类本身。本文详细介绍了static关键字在C++中的作用和原理,并通过充分的代码示例进行了说明,帮助读者深入理解并正确使用static...
内容概要: 本文介绍了Java中的static关键字的用法和作用。读者将学习静态成员变量和静态方法的定义和使用方式,并了解它们与实例成员变量和实例方法的区别。此外,还将探讨静态代码块和静态内部类的概念及其使用...
static 关键字详解,需要的朋友们快来下载吧
C/C++ 嵌入式 一些关键字: volatile关键字 Const关键字 static关键字 mutable 关键字
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。
在课堂中 已经简要介绍了 static 关键字的使用 我们知道 static 关键字可以用来修饰 类的成员变量 成员方法或者是代码块 下面我们就来说说这个 static 关键字 有时候程序员可能需要定义一个类成员 对它的使用不依赖...
static关键字的特点
Static关键字详解
你知道静态变量吗?你知道static的用法吗?你知道使用static时的注意事项吗?不知道不要紧,请阅读这篇文档
详细讲解了static的应用,这是亚嵌教育的讲义,很实用的。
static关键字
实践最重要,所以我的是理论加实例绝对好理解。。
Static关键字共5页.pdf.zip
static关键字.notes
MLDN魔乐static关键字 corejava java新手,菜鸟学习
java中的static关键字的作用及应用场景
面向对象基础-static关键字