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...
C++中的static关键字是一个非常重要的概念,它在不同的上下文中有不同的含义和用途。在C++中,使用static关键字可以修饰变量和函数,具有不同的作用。下面对这些知识点进行详细解释。 首先,静态变量(static ...
static关键字详解: 内容摘要: 一、static关键字定义属性 二、static属性与非static属性还有一个最大的区别,所有的非static属性必须产生实例化对象之后才可以访问,但是static属性不受实例化对象的控制,也就是 说...
"关于static关键字的总结" static 关键字是 Java 语言中一个非常重要的概念,它可以用来修饰变量、方法、内部类和代码块等。下面我们将详细介绍 static 关键字的由来、作用和用法。 一、static 关键字的由来 在 ...
Java面向对象程序设计static关键字 Java面向对象程序设计中,static关键字是一个非常重要的概念,它有很多特点和作用,本文将对static关键字的特点、作用和使用场景进行详细的解释。 static关键字的特点 首先,...
### static关键字详解 在Java编程语言中,`static`关键字是一个非常重要的概念,它用于定义类成员(变量、方法和内部类)的行为属性。当一个类成员被声明为`static`时,它就成为了该类的静态成员,这意味着无论创建...
在C++编程语言中,static关键字是一个非常重要的概念,它在全局变量、局部变量以及函数的声明中都有着不同的用途和含义。以下是对C++ static关键字的详细应用指南的解读。 首先,让我们来了解什么是静态全局变量。...
Static关键字在Java编程语言中扮演着至关重要的角色,它允许我们创建类级别的变量和方法,这些变量和方法不依赖于类的实例即可访问。在深入理解Static关键字之前,我们需要了解类和对象的概念。类是创建对象的蓝图,...
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。
在课堂中 已经简要介绍了 static 关键字的使用 我们知道 static 关键字可以用来修饰 类的成员变量 成员方法或者是代码块 下面我们就来说说这个 static 关键字 有时候程序员可能需要定义一个类成员 对它的使用不依赖...
static关键字的特点
"Java 程序显示类中 Static 关键字的用法" Java 中的 static 关键字是 Java 语言中一个非常重要的概念,它主要用于内存管理。静态关键字用于共享给定类的相同变量或方法。用户可以将静态关键字应用于变量、方法、块...
static关键字
2. **static关键字的说明**: `static`可以修饰属性、方法、代码块和内部类,但不能修饰构造器。被`static`修饰的成员在类加载时就会被创建,它们的生命周期比任何对象都要长。静态成员可以直接通过类名访问,无需...
实践最重要,所以我的是理论加实例绝对好理解。。
### Java零基础-static关键字 #### 一、static关键字概述 在Java编程语言中,`static`关键字具有重要的地位。它被广泛应用于多个方面,包括静态成员变量、静态方法、静态代码块以及静态内部类等。正确理解和应用`...
static关键字.notes
MLDN魔乐static关键字 corejava java新手,菜鸟学习