static静态:

常见修饰的内容:

  1.变量:

    修饰变量时,叫静态变量或类变量。此变量为类所有随着虚拟机加载类是而加载入方法区,此静态变量为该类所有对象共享,在内存中只有一个副本,它 当且仅当 类的初次加载时会被初始化。非静态的变量是对象“私有”的,在每次创建对象时被初始化,存在多个副本,各个副本互不影响。而静态变量是对象共享的,若一个对象改变了其值,其他对象也会受影响。调用:其它类调用它时可以用类名直接调用该属性,也可以用该类对象调用。 静态 不能修饰局部变量!

  2.方法:

    修饰方法时,叫静态方法或类方法。类方法如其名,也是通过类名直接调用或者对象调用,但由于它不依赖于对象就可以访问,因此对于静态方法来说就没有this.的。由于这个特性,静态方法中就不止直接访问非静态成员方法和非静态成员变量,因为非静态是属于对象的,静态属于类的,可以这么理解。

    注意:非静态的方法是可以访问静态方法和变量的。

  3.类:

    修饰类时,此类只能是内部类。静态内部类不需要有指向外部类的引用而非静态内部类需要持有对外部类的引用。非静态内部类能够访问外部类的静态和非静态成员,静态内部类不能访问外部类的非静态成员,它只能访问外部类的静态成员(类似于静态方法)。非静态内部类不能脱离外部类实体被创建,非静态内部类可以访问外部类的数据和方法,因为他就在外部类里面。

  4.对象:

    修饰对象时:此对象在编译前就存在于内存中,所以不用new去创建了,可以直接用类名去调用。

  5.代码块:

    修饰代码时,此时该代码块和静态变量属于一个加载的优先级。静态变量丶静态代码块都是随着类的加载而加载,优先于构造方法丶构造代码块。静态变量丶静态代码块同时存在时,谁编写在上面谁先加载,遵循顺序结构。静态代码块中不能有任何方法体的存在,而且它不能直接访问静态实例和实例方法,需要通过类的实例对象进行访问。

最新文章

  1. Java 加解密 AES DES TripleDes
  2. 实现数据库的跨库join
  3. jquery复选框checkbox实现删除
  4. sublime中让成对括号高亮显示的设置步骤
  5. mongodump 备份
  6. 0-1背包问题python解决
  7. LoadRunner 常用C语言函数使用
  8. CSS3中新出现的技术
  9. .net 破解的几个常用工具
  10. [BZOJ 2186] [Sdoi2008] 沙拉公主的困惑 【欧拉函数】
  11. CentOS 6.3 源码安装LAMP(Linux+Apache+Mysql+Php)环境
  12. 通过项目逐步深入了解Mybatis<三>
  13. 最短路(spfa)
  14. Java-IO之BufferedWriter(字符缓冲输出流)
  15. pip模块
  16. FineUIPro/Mvc/Core/JS v4.2.0 发布了(老牌ASP.NET控件库,WebForms,ASP.NET MVC,Core,JavaScript)!
  17. mq_receive
  18. eclipse配置环境变量 (特别是输入javac无显示问题)
  19. Linux 的基本操作(系统的安装)
  20. arguments.callee弃用与webuploader

热门文章

  1. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
  2. Mac 常用配置(JDK切换,ll命令设置)
  3. Python3 Selenium自动化web测试 ==> 第六节 WebDriver高级应用 -- 操作web页面的滚动条
  4. day20 logging模块、re模块
  5. PAT(Advanced Level)1055.The World's Richest
  6. [转帖]国内拉取google kubernetes镜像
  7. 归并排序+归并排序求逆序对(例题P1908)
  8. 骨牌摆放方案数n*m(状压DP)
  9. C++常用数据类型和Windows常见数据类型
  10. C++ 包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解(转)