什么是static关键字
static关键字我们经常接触,不过我们一直没有讨论过它到底是什么,有什么具体的作用,那static关键字是什么呢,有啥用呢?

  1. static是静态的意思,是一个修饰符,就像是一个形容词,是用来形容类,变量,方法的。
  2. static修饰变量,这个变量就变成了静态变量,修饰方法这个方法就成了静态方法,
  3. static关键字方便在没有创建对象的情况下来进行调用(方法/变量)。

static关键字的作用
static关键字你可以理解为是一个形容词,一般是用来形容类、方法、变量,代码块,还有一个作用是用来静态导包,本关我们只讨论它的三个用法。

1.修饰变量
不使用static关键字访问对象的属性:

使用static关键字访问对象的属性:

注意:如果一个类的成员变量被static修饰了,那么所有该类的对象都共享这个变量。无论这个类实例化多少对象,它的静态变量只有一份拷贝。
如:

输出:

李四
李四
李四

2.修饰方法

用static关键字修饰的方法叫做静态方法。静态方法我们已经用过,它有一个特点相信你已经很熟悉,那就是不需要创建对象就可以直接使用。
如:

注意:

  1. 静态方法不能使用类的非静态变量;

2.静态方法可以直接调用静态方法,但是调用普通方法只能通过对象的实例才能调用。

3.静态代码块

我们先来看一段静态代码块的运行效果:

输出结果:

结果:

我被调用了

上图中static{ }就是一个静态代码块。

我们在main方法中没有编写任何代码,可是运行的时候,程序还是会输出我被调用了,由此我们可以发现静态代码块是不需要依赖main方法就可以独立运行的。

关于静态代码块你只需要记住一句话:在类被加载的时候运行且只运行一次。

静态代码块中变量和方法的调用也遵守我们之前所说的规则,即只能直接调用静态的属性和方法。

static关键字了解解析相关推荐

  1. 【static关键字的作用是什么?它用在什么场景?static关键字深度解析来袭】

    2021/9/4/18:37 文章目录 1.一般情况下类的创建 2.一般情况下类创建产生的问题 2.1.第一种情况如何使用static解决 2.2.第二种情况如何使用static解决 3.如何调用st ...

  2. java中static关键字的解析

    静态的特点: A:随着类的加载而加载 B:优先于对象而存在 C:静态是被所有对象共享的数据 这也是我们来判断是否使用静态的标准 D:静态的出现,让我们的调用方式多了一种 类名.静态的内容 非静态的内容 ...

  3. Java中的static关键字解析 转载

    原文链接:http://www.cnblogs.com/dolphin0520/p/3799052.html Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到 ...

  4. [转] Java中的static关键字解析

    Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...

  5. 【Java学习笔记之十五】Java中的static关键字解析

    Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...

  6. Static关键字解析以及反射笔记之一

    Static关键字解析以及反射笔记之一 Java中的static关键字解析 一.static关键字的用途 以下是关于反射的一些笔记与思考 Java中的static关键字解析 static关键字是很多朋 ...

  7. 面试季,Java中的static关键字解析

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面 ...

  8. Java基础-static 关键字解析

    参考文章: https://www.cnblogs.com/dolphin0520/p/3799052.html static的应用: 1.static是为了在没有创建任何对象的前提下,仅仅通过类本身 ...

  9. 教妹学Java(二十六):static 关键字解析

    你好呀,我是沉默王二,(目前是)CSDN 周排名前十的博客专家.这是<教妹学 Java>专栏的第二十六篇,今天我们来谈谈 Java 的 static 关键字--什么是静态变量?什么是静态方 ...

最新文章

  1. mosquitto---config.mk
  2. vue-cli构建项目
  3. 网络学习云平台 计算机基础应用,计算机应用基础网络自主学习平台使用说明.doc...
  4. css属性 content
  5. 【Kafka】Window下kafka开启JMX监控
  6. 第七章部分例题最大乘积
  7. Matplotlib 中文用户指南 8.2 我们最喜欢的秘籍
  8. 计算机网络习题——循环冗余校验
  9. 简单介绍一下树莓派zero w
  10. 点估计(矩估计法和最大似然估计法)
  11. Atitit 管理的模式扁平化管理 金字塔 直线型管理 垂直管理 水平管理 矩阵式管理 网状式样管理 多头管理 双头管理...
  12. 华东师范大学计算机考研专业,2017年华东师范大学计算机科学与软件工程学院考研专业目录...
  13. 模拟科目二倒车入库训练
  14. Kotlin 之 协程(四)协程并发
  15. TOPSIS算法(优劣解距离法)的使用举例与matlab实现
  16. 企业和团队如何创建高效实用的知识管理体系
  17. R语言结构方程模型(SEM)在生态学领域中的应用
  18. 被动信息收集----指纹识别(CMS识别)
  19. (9)Elasticsearch-suggest详解
  20. 关于mos管驱动的问题

热门文章

  1. java连接mysql8
  2. 如何用Python画一朵太阳花
  3. js算法入门(3)--递归
  4. dotnet调用node.js写的socket服务(websocket/socket/socket.io)
  5. sqlite数据库测试类基本使用
  6. Android程序的反编译对抗研究
  7. MotionEvent的getX(),getY()与getRawX(),getRawY()区别
  8. Java中的HashCode(2)之Hashset造成的内存泄露
  9. 项目实施中应该注意的事项
  10. Nginx——upstream参数