static静态

没加上static,均为成员变量。

static+复合语句 形成的代码块,称为静态代码块。

static{
  类型 变量名列表;
  语句;
  ……
}

一、静态:共同数据单独存放,节省空间。 

作用:1.随着类的加载而加载,随着类的消失而消失。生命周期最长。

2.优先于对象存在

3.被所有对象共享

4.静态方法只能访问静态成员。静态方法内,不能出现this关键字(要先有对象)

加载顺序:静态代码块>构造代码块>构造方法(在main运行之前,先运行静态代码块)

PS:构造代码块//实例块(给所有对象进行统一初始化)

{
System.out.println("执行代码……");
}

构造方法(给对应对象进行初始化)

public StaticVariable()
{
System.out.println("执行构造方法……")
}

static//静态代码块,允许有多个(按前后顺序加载)

static
{
StaticVariable.a=100;
System.out.println("这是一个静态代码块。a="+a);
}

//静态方法

static void info()
{
System.out.println("方法info输出,"+StaticVariables.a);
}

PS:静态方法中不能出现非静态成员

无论在哪里对静态变量(类变量)进行修改,将影响所有对象。

静态变量a的三种访问方式:a(直接访问)、StaticVariables.a(类名访问)、SV1.A(对象名访问)

在对象实例化过程中,首先执行构造代码块(实例化代码),然后执行构造方法。

二、构造代码块与静态代码块的对比:

1.静态代码块随着类的加载而执行,只执行1次。创造n个对象,就执行n次(构造代码块)

2.静态代码块随类加载。构造代码块必须有对象。

静态变量,也称为静态局部变量或静态全局变量,是指在程序运行时给变量分配固定的存储空间的一种存储方式。在定义变量时,可以在数据类型名之前添加static关键字来声明变量为静态变量。静态变量的生命周期和作用域取决于其定义的位置。 静态局部变量是在函数内部定义的变量,但是它的生命周期与全局变量相似,即在整个程序的运行期间都存在。静态局部变量的作用域则被限制在定义该静态局部变量的函数内部。这意味着静态局部变量只能在定义它的函数内部使用。 静态全局变量是在全局作用域下定义的变量,它的生命周期也是整个程序的运行期间。但是,静态全局变量的作用域被限制在定义该变量的源文件内。这意味着静态全局变量只能在定义它的源文件中使用。 总结一下,静态变量是在程序运行时给变量分配固定的存储空间的一种方式。静态局部变量的生命周期与全局变量相似,但作用域限制在定义它的函数内部。静态全局变量的生命周期与全局变量相同,但作用域限制在定义它的源文件内。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [static静态变量](https://blog.csdn.net/feng19870412/article/details/116934404)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [静态变量static](https://blog.csdn.net/liu_jiang666/article/details/124153112)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值