`
- 浏览:
27119 次
- 性别:
-
①java类的成员变量有俩种:
一种是被static关键字修饰的变量,叫类变量或者静态变量
另一种没有static修饰,为成员变量
②通俗点说:
类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享。静态变量是 属于类的变量,而不是属于具体实例的变量。即:在同一个类的不同实例中对同一个 static 变量做变更的话,所有该类的实例中该变量的值都会被改变。
静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期。
而实例变量取决于类的实例。每创建一个实例,java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中,其生命周期取决于实例的生命周期。
注意点:
1.JAVA中初始化的顺序:
加载类;
静态变量初始化;
静态块;【其只能调度静态的,不能调度非静态的】
成员变量;
构造方法;
2.为显示静态块的优先级,我来显示一个没有Main方法的程序,javac后其是没有任何错误的。
public class Test {
static {
System.out.println("static ");
System.exit(0);
}
}
参考:http://blog.csdn.net/cason_xu/article/details/3546773
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
静态变量和非静态变量的区别
静态变量与非静态变量获取配置文件application中变量值的区别 在 SpringBoot 应用程序中,经常会遇到获取配置文件中的变量值,并将其赋值给变量的情况。在这种情况下,静态变量和非静态变量的使用会出现一些问题。...
总结起来,Java 中的静态变量与非静态变量之间的主要区别在于它们的生命周期、存储位置以及访问方式。静态变量是类级别的,与对象无关,而实例变量是对象级别的,每个对象都有自己的一份副本。理解这两种变量类型...
本文将详细介绍静态变量与非静态变量的区别、静态变量的使用方式、静态构造函数的使用等方面的知识点。 一、静态变量与非静态变量的区别 静态变量和非静态变量是 C# 语言中两种不同的变量类型。静态变量是在应用...
在深入了解如何使用`@Value`注解给静态变量赋值之前,我们先简要回顾一下`@Value`注解的基本用法及其与静态变量的关系。 ##### 2.1 `@Value`注解简介 `@Value`注解用于将配置文件中的值注入到特定的变量中。它可以...
- **全局变量、静态局部变量与静态全局变量**:这些变量在程序的静态存储区分配空间,它们在整个程序执行过程中都存在。 - **局部变量**:局部变量在栈中分配空间,随函数调用的开始而创建,函数调用结束时销毁。 #...
分析了php中静态类与静态变量用法类的区别,创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。直接调用类方法量:class::attribute/function,无论是静态/...
为了解决这个问题,我们可以创建带有`@Value`注解的非静态setter方法,用于在Spring容器初始化时设置静态变量的值。首先,确保`ClickHouseUtil`类有`@Component`注解,这样Spring容器会自动管理这个类并调用setter...
2. **生命周期**:全局变量和静态全局变量在整个程序运行期间都存在,而局部变量和非静态局部变量在其所属函数调用结束后即被销毁。 3. **初始化和存储位置**:静态局部变量和静态全局变量在程序加载时只初始化一次...
静态变量的主要特征是在函数调用结束后,其值不会消失,可以在下一次函数调用时继续使用。要创建一个静态变量,只需在变量声明前加上关键字static。 PHP中的静态变量有以下特点和用途: 1. 静态变量的生命周期 ...
### Java之中的静态变量与静态方法的继承与覆盖问题 #### 静态变量与静态方法的基本概念 在Java编程语言中,静态变量(也称为类变量)和静态方法(也称为类方法)是由`static`关键字修饰的成员变量和成员方法。...
在编程语言中,如C++或Java,类的成员变量分为两种主要类型:静态成员变量(Static Member Variables)和非静态成员变量(也称为实例变量)。这两种变量在使用和存储方式上存在显著差异,这对于理解和编写高效、清晰...
4. 非静态成员变量通常用于存储对象特有的属性,因为它们与对象的状态紧密相关。 **面向过程中的静态变量**: 在面向过程编程中,`static`关键字也有着类似的作用,但不涉及类的概念。例如: 1. 静态全局变量仅在...
4. **静态变量与内存管理**: - 静态变量存储在程序的静态存储区,不同于栈上的局部变量和堆上的动态分配变量,它们在程序运行期间始终占用固定的内存空间。 - 静态变量的可见性和生命周期特性使得它们在多函数...
以下是关于Java成员变量、局部变量、静态变量以及成员方法和全局方法的基本概念和区别的详细阐述。 1. 成员变量(Member Variables): 成员变量是类的一部分,它们定义了对象的状态。它们可以是实例变量(非静态...
### C#静态方法与非静态方法的比较 在C#编程语言中,静态方法与非静态(实例)方法是两种非常重要的方法定义方式。这两种方法各有特点,在不同的场景下使用可以带来不同的效果。 #### 一、概念理解 **1. 静态方法...
静态全局变量与普通全局变量的区别在于其作用域。普通全局变量在整个源文件中可见,而静态全局变量只在其声明的源文件内可见,对外部文件隐藏,起到了封装的作用。此外,静态全局变量的生命周期始于程序启动,终于...
在Java编程语言中,静态变量、静态方法、静态代码块以及非静态变量和非静态方法是核心概念,它们对于理解和编写Java程序至关重要。下面将详细解释这些概念,并通过实例程序来阐述它们的使用和内存管理。 首先,静态...
- 在静态方法内部,只能访问静态变量和其他静态方法,无法访问非静态成员。 - 静态方法常被用作工具方法,提供一些通用功能。 - **示例**: ```java public class StaticExample { private static int count;...
可以将静态变量理解为类变量(与对象无关),而实例变量则属于一个特定的对象。 静态变量有两种情况: ● 静态变量是基本数据类型,这种情况下在类的外部不必创建该类的实例可以直接使用 ● 静态变量...