当前位置:网站首页>3. static成员
3. static成员
2022-08-11 10:42:00 【陆悠漓】
static修饰成员变量
如果定义3个学生,且他们都属于同一个班,那么定义三次的成员变量会不会显得太繁琐了,那么这个时候我们就可以使用static把班级放到方法区,在Java中,被static修饰的成员,称之为静态成员,也可以称为类成员,其不属于某个具体的对象,是所有对象所共享的
class Student {
// 成员变量
public String name;
public int score;
// 由static修饰的静态成员变量,由类来控制访问
public static String classes = "一班";
}
- 不属于某个具体的对象,是类的属性,所有对象共享的,不存储在某个对象的空间中
- 既可以通过对象访问,也可以通过类名访问,但一般更推荐使用类名访问
- 类变量存储在方法区当中
- 生命周期伴随类的一生(即:随嘞的加载而创建,随类的卸载而销毁)
static修饰的对象一般使用类名去访问
static修饰成员方法
Java中,被static修饰的成员方法称为静态成员方法,是类的方法,不是某个对象所特有的。静态成员一般是通过静态方法来访问的。
静态方法特征
- 不属于某个具体的对象,是类方法
- 可以通过对象调用,也可以通过类名.静态方法名(…)方式调用,更推荐使用后者
- 不能在静态方法中访问任何非静态成员变量
static成员变量初始化
- 就地初始化
public static String classes = "一班";
- 静态代码块初始化
class Student {
public static String classes;
// 静态代码块
static {
classes = "一班";
}
}
注意事项
- 静态代码块不管生成多少个对象,其只会执行一次
- 静态成员变量是类的属性,因此是在JVM加载类时开辟空间并初始化的
- 如果一个类中包含多个静态代码块,在编译代码时,编译器会按照定义的先后次序依次合并
- 实例代码块只有在创建对象时才会执行
边栏推荐
猜你喜欢
Install nodejs
【应用SLAM技术建立二维栅格化地图】
Primavera P6 Professional 21.12 Login exception case sharing
chrome无痕浏览模式中使用插件
Cholesterol-PEG-FITC,Fluorescein-PEG-CLS,胆固醇-聚乙二醇-荧光素水溶性
B端产品需求分析与优先级判断
Use Function Compute to package and download OSS files [Encounter Pit Collection]
【Prometheus】 Grafana数据与可视化
阿里云ssl证书申请,宝塔ssl证书部署
Jetpack Compose学习(9)——Compose中的列表控件(LazyRow和LazyColumn)
随机推荐
你必须懂的一些MySQL索引技巧
OAK-FFC Series Product Getting Started Guide
Qihua stores the future and interprets the origin of distributed
LeetCode·每日一题·1417.重新格式化字符串·模拟
错误代码: 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current
【Mysql系列】03_系统设计
ID3v2 Library以便能够设置
【分享】PPT还能做成这样?你一定没见过
NT 内核函数原型大全
【每日一题】640. 求解方程
【UOJ 454】打雪仗(通信题)(分块)
AcWing 273. 分级(线性DP+结论)
VMWare中安装的win10,新增其他盘符,如:E盘,F盘等
联想 U 盘装机后出现 start pxe over ipv4
二、第二章变量
chrome无痕浏览模式中使用插件
齐话存储未来,诠释分布式缘起
I got the P8 "top" distributed architecture manual that went viral on Ali's intranet
【学习笔记】线性规划对偶定理
突破次元壁垒,让身边的玩偶手办在屏幕上动起来!