无标题啊啊

static

一,基本知识

1,所有static关键字修饰的都是类相关的,类级别的。

2,所有static修饰的都是采用 “类名. ” 的方式访问。

3,static修饰的变量:静态变量。

4,static修饰的方法:静态方法。

变量的分类:

变量根据声明的位置进行划分:

在方法体当中声明的变量为:局部变量。

在方法体为声明的变量为:成员变量。

成员变量又可以分为:

实例变量

静态变量

实例的,都是对象相关的,访问时采用 “引用. ” 的方式访问,需要先new

静态的,都是类相关的,访问时采用 “类名. ” 的方式访问,不需要new

二,何时使用static

程序的加载机制

1,JVM大概分为栈,堆,方法区这三块存储空间。最开始时,先在方法区加载各种 .class文件,方法都加载在栈里面(不论是静态、实例、构造方法)。在栈里面调用构造方法创建对象后,声明的变量指向堆里面的对象(类),而对象(类)中的各个实例变量自然存储在堆中。(局部变量存储在栈中)

2,静态变量存储在方法区内存中,其初始化跟.class文件一起执行。(不像实例变量是在对象创建的时候执行的)

某个变量是所属类(可化成的所有对象)的共同属性则用static

一个类可以定义出多个对象,每个对象属性(变量)的赋值不完全相同,这些变量是成员变量,跟对象存储在堆内存中,若某个属性在类定义出的所有对象中都一样,则可以声明为静态变量(static),因为若在每个对象的成员变量中都定义一遍,将在堆内存中的每个对象中占一份存储空间,将其定义在方法区--声明为静态变量,则可以节省空间。

对于方法来说,方法一般都是描述了一个行为,如果说这个行为需要对象去触发,那么该方法定义为实例方法(因为访问对象里面的实例变量需要“引用. ”方式)。当这个方法体中直接访问了实例变量,这个方法一定是实例方法。

注意

用“引用. ”的方式也能访问静态变量,只是不建议用此方式。

三,静态代码块

静态代码块:类加载时机,只执行一次。

1,使用static关键字可以定义静态代码块

2,语法:

static{

java语句;

}

静态代码块在类加载时执行,并只执行一次,在main方法前执行,一般是自上而下的执行。

四,实例代码块

1,实例语句的语法:

java语句;

2,什么时候执行?

在构造方法执行之前执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值