文章目录

  • 1.什么是static?
  • 2.static关键字的作用是什么?
  • 3.静态变量和非静态变量的区别?
  • 4.static可以修饰局部变量吗?
  • 5.可以通过this访问静态变量吗?
  • 6.静态方法能否调用非静态方法?
  • 7.静态变量、普通变量、静态代码块、普通代码块和构造函数的执行顺序是什么?
  • 8.静态方法可以被重写吗?
  • 9.抽象(abstract)方法能否是静态的(static)?

1.什么是static?

static表示全局或静态的意思,可以用来修饰变量、方法或代码块。

2.static关键字的作用是什么?

没有创建对象时,也可以通过类名调用方法和变量。

3.静态变量和非静态变量的区别?

  1. 静态变量仅在类初次加载时会被初始化,非静态变量在创建对象时被初始化。
  2. 静态变量在内存中只有一个副本;非静态变量存在多个副本,各个对象拥有的副本互不影响。
  3. 静态变量可以通过类和对象访问,非静态变量只能通过对象访问。
  4. 静态变量存储在方法区,非静态变量存储在堆。

4.static可以修饰局部变量吗?

java语法不允许

5.可以通过this访问静态变量吗?

可以。this代表当前对象,静态变量虽然独立于对象,但所有的静态方法和静态变量都可以通过对象访问。

6.静态方法能否调用非静态方法?

不可以,非静态方法依赖对象的创建。

7.静态变量、普通变量、静态代码块、普通代码块和构造函数的执行顺序是什么?

静态变量 → 静态代码块 → 普通变量 → 普通代码块 → 构造函数

8.静态方法可以被重写吗?

子类可以拥有一个与父类静态方法相同的方法,编译不会报错,但重写不会生效。

方法的重写/覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。

9.抽象(abstract)方法能否是静态的(static)?

不能,抽象方法等待重写,而static方法静态时编译,不可重写。

搞懂静态变量static相关推荐

  1. 静态变量static(C)

    static static是C语言关键字之一. static 数据类型用来给变量创建永久存储空间.静态变量在函数间调用时保持他们的值不变. 它的语法结构为: static c_type data_na ...

  2. 静态变量(static variable)

    静态变量(static variable) 我们可以创建具有 块作用域.无链接.静态存储期 的局部静态变量.其与局部自动变量一样,具有相同的作用域,但是程序在离开它们所在函数后,静态变量不会消失,在多 ...

  3. java 静态全局变量_静态变量static和全局变量global

    静态变量static , 全局变量global 静态变量 在java也叫类变量从名字可以看出它是属于某个类的而不是类的实例.它的关键字是static存储在静态存储区,当程序执行,类的代码被加载到内存, ...

  4. Systemverilog 静态变量 (static) 与 动态变量(automatic) 区别

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 静态变量 Static 动态变量 Automatic 一.静态变量和动态变量的定义 二.静态变量与动态变量应用举例 总结 静 ...

  5. C语言静态变量static的分析

    对C语言静态变量static分析,解释了static为什么在局部变量里面定义的时候不会随着函数执行完毕而销毁,也稍微用解释了静态存储区和动态存储区的小知识 文章目录 学习static前要先认识 sta ...

  6. 静态变量static的理解

    static static是C语言关键字之一. static 数据类型用来给变量创建永久存储空间.静态变量在函数间调用时保持他们的值不变. 它的语法结构为: static c_type data_na ...

  7. c++ 类中静态变量 static

    类中的静态变量 由于声明为static的变量只被初始化一次,因为它们在单独的静态存储中分配了空间,因此类中的静态变量由对象共享.对于不同的对象,不能有相同静态变量的多个副本.也是因为这个原因,静态变量 ...

  8. php的静态变量static在函数内部

    静态变量放在函数内 <?phpheader('content-type:text/html;charset=utf-8');function fun(){static $num=1;$num++ ...

  9. Java中的类变量(静态变量static的具体用法快速入门))

    文章目录 问题分析 修改过后的代码 运行结果 先看一段代码 package study_static;public class Childgame {public static void main(S ...

最新文章

  1. 【文本分类】A C-LSTM Neural Network for Text Classification
  2. ADT 怎么删除logcat过滤规则
  3. 交叉表 列字段排序_PowerBI创建日期表
  4. 【.Net 学习系列】-- EF Core实践(Code First)
  5. 为什么都用m3u8_为什么中国人都喜欢用红砖盖房?
  6. C#——Lambda表达式与泛型委托DEMO
  7. 来自Riot 的一份游戏美术教程(三):角色设计
  8. oracle执行脚本顺序执行吗,【ORACLE】记录通过执行Oracle的执行计划查询SQL脚本中的效率问题 - 不及格的飞鱼...
  9. 用html5播放两个视频,HTML5视频 - 如何进行无缝播放和/或几个视频循环?
  10. linux dns中文域名,Linux 搭建中文域名的DNS服务器
  11. dell笔记本插上耳机没有声音_跑男的耳机没有声音,沙溢只用一句话诈出来,不愧是《王牌》常客...
  12. python中的for语句可以在任意序列_python在循环内任意增加迭代器
  13. 关于NDK及安装使用
  14. Qt + 运动控制 (固高运动控制卡)【3】运动控制卡几种常用的回零方式
  15. [已失效]坦白说(查看好友)抓包教程+解密工具
  16. Win11系统pin码忘记了怎么办?Win11忘记pin码解决方法
  17. 双网卡 跃点_关于windows 双网卡和跃点数研究
  18. 阿里云体验--搭建超级小班课网课系统
  19. Three.js样条曲线、贝赛尔曲线
  20. mvn No proxies configured downloading directly

热门文章

  1. linux加密框架 crypto 算法管理 - 算法查找接口
  2. C++primer第十章 泛型算法 10.3 定制操作
  3. MacOS 的 zsh 和 bash 切换
  4. HEVC 编解码资源
  5. 生成多个 SSH-Key 、生成多个公钥和私钥
  6. 解决:Error response from daemon: Cannot restart container xxx: driver failed programming external
  7. 设置 git pull 无需输入账号和密码
  8. chrome 谷歌浏览器怎么添加Axure扩展
  9. Android - AsyncTask你知道多少?
  10. face++算法工程实习生面试