【Java基础】static成员

目录

1. static修饰的成员变量

1.1 静态成员变量的访问

1.2 静态成员变量的特点

2.static修饰静态成员方法

2.1 静态成员方法的调用

 2.2 静态成员方法 调用 静态成员方法

 2.3 静态成员方法 调用 非静态成员方法

 2.4 静态成员方法 访问 非静态成员变量

 3.静态成员变量的初始化

3.1 就地初始化

3.2 静态代码块初始化


static:是Java中的一个关键字,表示 静态的。在Java中,被static修饰的成员叫做 静态成员。静态成员 不属于某个具体的对象,而是属于 类,因此也可以称之为 类成员。

1. static修饰的成员变量

若一个成员变量被static修饰,则这个成员变量叫做 静态成员变量。此时 这个成员变量就属于 类的,不属于对象。

1.1 静态成员变量的访问

下面写一个Dog类,在Dog类中用 this 来访问 静态成员变量,this代表的是当前对象的引用

        可见 this访问非静态成员变量name可以正常访问,但访问kind出现警告。显示静态成员应该使用Dog.kind来访问。

      由此可以得出,静态成员是属于 类的,不属于 对象,应该使用 类名 来访问静态成员变量。

1.2 静态成员变量的特点

(1)静态成员变量属于 类 的,不属于具体的对象,是所有对象共享的。

(2)静态成员变量随着类的加载被创建,随着类的销毁而销毁。

(3)静态成员变量的存储空间不在对象的存储空间中,而在 方法区。、

(4)可以通过对象和类名来访问 静态成员变量,但前者会存在异常,一般都用类名来访问。

2.static修饰静态成员方法

static修饰的成员方法叫 静态成员方法,是 类 的方法。

2.1 静态成员方法的调用

静态成员方法也应该使用 类名 来调用,否则也会出现警告。

 2.2 静态成员方法 调用 静态成员方法

在静态成员方法中 可以直接调用静态成员方法

 2.3 静态成员方法 调用 非静态成员方法

在静态成员方法中不能 直接 调用 非静态成员方法,需要实例化对象来调用。

 

 2.4 静态成员方法 访问 非静态成员变量

在静态成员方法中,可以直接访问静态成员变量,不能直接 访问非静态成员变量,需要先实例化对象,通过对象的引用来访问 非静态成员变量。

 3.静态成员变量的初始化

若在类中定义了静态成员变量,则静态成员变量的初始化有两种方式:就地初始化、静态代码块初始化

3.1 就地初始化

意思就是 在定义静态成员变量的同时 就直接将其初始化。

3.2 静态代码块初始化

也可以写一个 静态代码块 将静态成员变量进行初始化 。

 【静态代码块特点】

(1)静态代码块是程序运行时第一个被执行的,且只被执行一次。

(2)若有多个静态代码块,则会按定义顺序依次执行。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值