[Java教程]21.静态-static
Java教程专栏:https://blog.csdn.net/qq_41806966/category_9929686.html
hello,I'm shendi
这节学习关键字 static
目录
static 是什么?
为什么需要?
作用?
如何使用?
特点
实战
领袖更换
在之前的学习中,我们有接触过 static 关键字---public static void main(String[] args) {}
static 是什么?
static是 Java 语言中的一个关键字,用于将成员声明为静态的,一个静态的成员在整个程序中是唯一的.
为什么需要?
首先熟悉一下对象的概念
在之前,我们知道可以通过 new 一个类来创建这个类的一个对象.
那么这个类相当于一个模板,对象相当于这个模板生成出来的产品(实例),也就是说,每一个实例都是独立的,并且可以单独修改.
例如 人类和具体的人,
那么,如果我们有需求,让所有对象实例共有一个成员,就需要使用 static(静态) 关键字
例如 已经有很多人类的实例 A,B,C,D,这群人有一个共同的领袖 A,代码如下
class People {String name;// 名称String superName = "A";// 领袖名称
}
这个时候我们领袖更换了,想变成 B,该如何做呢?
我们有四个对象 A,B,C,D,因为对象都是独立的,所以需要将这四个对象的superName都改成 B,那么问题来了,我们怎么获取到这四个对象?创建完用数组储存起来? 这样会占内存,降低效率, 这时就可以使用 static 关键字
作用?
经过上面的叙述,应该有了一个大概的了解
static 静态,可以将类的某个成员置为共享(所有对象用这一个),因为只有一个,所以进行任何修改其他对象也跟着改变.
static 也可以理解为在类中,而不是对象中
如何使用?
在之前我们已经知道了可以在方法上使用(main函数)
static 关键字可以用作 方法上,属性上...简单说就是类里的成员都可以使用static关键字
我们一般将 static 写在权限修饰符的后方
例如
class A {public static int a;private static int b;public static void a() {}
}
特点
被 static 关键字修饰的成员不在属于对象,而属于类,所以我们可以直接通过类来使用
语法: 类名.成员
static 关键字多用于工具类中
比如求和,计算,打印等不需要变的固定的方法
注意: 因为静态的成员(static修饰)属于类,而不属于对象,所以,非静态的成员不能使用静态的成员
实战
本节代码以及后续代码都会上传至github,直接进入 https://github.com/1711680493/JavaCourse
记得点一下右上角的 star
先从上面的注意事项开始,非静态成员不能使用静态成员
编译出错
领袖更换
接下来我们完成之前说的那个例子
首先我们需要一个人类 People, 此类拥有名称,和领袖名的属性,因为要让外部访问,所以是public的
然后我们创建一个测试类,分别创建名称为A,B,C,D的实例,并输出领袖
因为默认领袖为A,所以他们的领袖都为A,编译运行
我们这时候修改领袖为B,就使用对象a
再次编译运行
可以看到,只有A的领袖变了,这不是我们想要的,这时我们将领袖属性改成静态
再次编译运行
下节学习final关键字
[Java教程]21.静态-static相关推荐
- Java学习(静态static关键字,数组工具类Arrays,数学相关工具类(绝对值,向上取整,向下取整),继承,super和this关键字,抽象)
2022/1/2 (1/6)Java学习 1.静态Static关键字概述 一旦用了static关键字,那么这样的内容不再属于对象自己,而是属于类的,所以凡是本类的对象,都共享同一份. 2.静态stat ...
- 【java笔记】静态static关键字
目录 static 修饰成员变量: static修饰成员方法: 注意: 静态static的内存图: 静态代码块: 一旦用了static关键字,那么这样的内容不再属于对象自己,而是属于类的. 多个对象 ...
- 一语点破Java中的静态static关键字
作者:嗑嗑磕嗑瓜子的猫 blog.csdn.net/ju_362204801/article/details/90738966 思考:大家有没有想过一个问题,静态它为什么叫静态?因为书上或者别的文章里 ...
- 一语点破 Java 中的静态 static 关键字
来源 | blog.csdn.net/ju_362204801/article/details/90738966 思考:大家有没有想过一个问题,静态它为什么叫静态?因为书上或者别的文章里这么写的都这么 ...
- 大白话系列之 —— 一语点破Java中的静态static关键字
铁子们,快扫码关注啦!或 wx搜索:"聊5毛钱的java",关注可领取博主的Java学习视频+资料,保证都是干货 思考:大家有没有想过一个问题,静态它为什么叫静态?因为书上或者别的 ...
- java static关键字_好程序员Java教程分享static关键字的理解
好程序员Java教程分享static关键字的理解,static关键字含义可以理解为静态的. 1. 当其修饰属性时,该属性为整个类公有,所有的对象操作的都是同一个静态属性.所以调用时应该使用类名去调用, ...
- Java的知识点10——static关键字、静态初始化块、 参数传值机制、包、导入类import、 静态导入
static 关键字 在类中,用static声明的成员变量为静态成员变量,也称为类变量. 类变量的生命周期和类相同,在整个应用程序执行期间都有效.它有如下特点: 1. 为该类的公用变量,属于类,被该类 ...
- jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结
转载自 jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结 为什么使用该功能? 项目中的每个页面都包含产品名称.Logo.版本等信息,我希望修改一处,其它所有的全部跟着变 ...
- Java编程基础08——面向对象_构造方法静态static
1.构造方法Constructor概述和格式(掌握) A:构造方法概述和作用 给对象的数据(属性)进行初始化 B:构造方法格式特点 a:方法名与类名相同(大小写也要与类名一致) b:没有返回值类型,连 ...
最新文章
- 一家大型公司的nginx配置
- Lua日期与时间操作
- EventLoopGroup 与Reactor
- mysql workbench导入sql_MySQL Workbench 导入sql脚本-Go语言中文社区
- windows运行对话框_如何在Windows运行对话框中添加文本快捷方式?
- mssql2008极占内存
- 27. 用户生成内容
- ORACLE 树形遍历查询根节点 父节点 子节点
- 防止linux子系统关闭,Linux关闭selinux安全子系统的方法
- 军用设备环境试验方法高温振动试验标准
- 怎么用计算机打对错,丶符号怎么打-Word里的对√ 和 错× 怎么打出来的?
- 【Apollo 6.0项目实战】Canbus模块
- C语言实现HDB3编码与译码
- linux系统管理员用户名为admin,Linux创建系统管理员用户
- 工具系列——COMSOL Multiphysics 5.5安装教程
- 单核CPU使用多线程能否提高效率?
- julia集 matlab代码,Julia中文手册1.1版本
- 79:企业CRM客户系统:登录模块开发(cookie和session以及登录态校验)
- 蓝桥杯算法提高试题 学霸的迷宫(BFS)
- 【求证】 网上配镜靠谱吗?