关于Java中static的使用有以下四种情况:
**1、静态成员变量
** 被static修饰的成员变量,叫静态成员变量或类变量;没有被static修饰的变量,叫实例变量。
两者的区别是:
静态成员变量在内存中只有一份拷贝(节省内存),JVM只为静态成员变量分配一次内存,在加载类的过程中完成静态成员变量的内存分配,可用类名直接访问(方便),当然也可以通过对象实例来访问(但是这是不推荐的)。 所以当静态成员变量内存分配好了后,所有的实例对象共同维护静态成员变量(类变量),任何一个对象对实例变量的修改都会影响到其他对象实例对该变量的访问。
对于实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)。
**2、静态成员方法
** 静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员变量方法),只能访问所属类的静态成员变量和静态成员方法。**因为实例成员与特定的对象关联!**这个需要去理解,想明白其中的道理,不是记忆!!!
因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。 (static和abstract不能同时使用)
3、静态代码块
static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。
静态代码块在类加载时仅仅执行一次,而代码块在类加载时不执行,而是在每次对象创建时都会执行,并且先于构造函数执行。
4、静态嵌套类
为了生成对立于外部类对象的嵌套类对象,就需要将嵌套类生命为static。

@ 黑色的小蚂蚁

static在Java中的使用相关推荐

  1. java static 在java 中的使用。

    static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...

  2. java中的static类_再议Java中的static关键字

    再议Java中的static关键字 java中的static关键字在很久之前的一篇博文中已经讲到过了,感兴趣的朋友可以参考:<Java中的static关键字解析>. 今天我们再来谈一谈st ...

  3. java中static代码块_static怎样在java中修改代码块?

    代码是我们每个学编程的小伙伴都接触的内容,在代码块的修改上有很多方法,那么在java中又需要使用哪种方式来对代码块进行变动呢?哦们最近在学关键字的版块,其中有一个static用来修饰代码块的效果非常不 ...

  4. 对java中public、static的理解

    原帖:https://blog.csdn.net/v7595v/article/details/45845347 首先是public  在说明这四个关键字之前,我想就class之间的关系做一个简单的定 ...

  5. 面向对象篇(OOP)--05 Java中static关键字的四种用法

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下stat ...

  6. JLS --(Java 中的static)

    最近研究了一下JLS 7,对一些概念有了进一步的认识,为了加深一些认识,希望能将一些自己的理解整理成笔记,加深印象. Java 中的static static是java中的静态修饰符.在java语言中 ...

  7. java中static没有对象

    java中static关键字详解: 1 static 特点: 2 特点分析 2.1 随着类的加载而加载 2.2 通过类名调用 2.3 所有类共享数据 3 静态代码块 3.1案例一: 3.2案例二: s ...

  8. java中public static_对java中public、static的理解

    首先是public 在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes ...

  9. 【转】Java中字符串中子串的查找共有四种方法(indexof())

    原文网址:http://wfly2004.blog.163.com/blog/static/1176427201032692927349/ Java中字符串中子串的查找共有四种方法,如下: 1.int ...

最新文章

  1. LeetCode-笔记-57.插入区间
  2. PO RELEASE 采购订单审核(支持多级审核)
  3. 12 月机器学习新书:《可解释机器学习方法的局限》,免费下载!
  4. 基础才是重中之重~开发人员应用学会用throw
  5. eclipse 版本理解
  6. ThinkPHP—URL的访问以及各种方法的操作
  7. Socket网络编程--聊天程序(2)
  8. MongoDB,分组,聚合
  9. Fedora 9 Samba 配置
  10. 联想z400linux调节屏幕亮度,联想z400屏幕亮度调节方法
  11. win10找不到wifi网络_win10找不到realtek高清晰音频管理器的解决放法
  12. IDEA 复制当前行到下一行
  13. C/C++实现http下载文件
  14. 支付账户体系(分账接口)的9大价值
  15. 微信二次分享签名错误php,微信二次分享报错invalid signature问题及解决方法
  16. 获奖摄影作品赏析——对称与对比(1)
  17. Spring boot 配置文件明文密码加解密
  18. 怎么样在Microsoft微软官网下载win10系统ISO文件
  19. 36岁转行学java_年纪大了还想转行当程序员,现在学java还来得及吗
  20. “保姆级”车载CAN总线教程(一)-堪称全网“最细”系列

热门文章

  1. 分享个app制作工具Fusion2.0 App,理论上任何网页都能变成app
  2. 淘宝/天猫获得淘宝商品详情 API 万邦接口返回值说明
  3. win10IE浏览器只能以管理员身份才能运行,如何恢复
  4. QML如何实现窗口缩放隐藏
  5. 华为电脑linux怎么连接鼠标,华为无线鼠标怎么连接电脑 华为无线鼠标如何连接电脑...
  6. Java入职实习生对于Java学习的一些心得
  7. 编译原理实验三 LR(1)分析法
  8. C#中ChecklistBox的部分用法
  9. 邮箱怎么注册好呢?简单的邮箱注册方法
  10. 判断身份证号,根据身份证号自动生成出生日期