static修饰符

static修饰符的特点:
1):static修饰的成员(字段/方法),随着所在类的加载而加载.
当JVM把字节码加载进JVM的时候,static修饰的成员已经在内存中存在了.
2):优先于对象的存在.
对象是我们手动通过new关键字创建出来的.
3:satic修饰的成员被该类型的所有对象所共享.
根据该类创建出来的任何对象,都可以访问static成员.(狗天生就吃屎.)
剧透:表面上通过对象去访问static成员,其本质依然使用类名访问,和对象没有任何关系(通过反编译看到的).
4):直接使用类名访问static成员
因为static修饰的成员直接属于类,不属于对象,所以可以直接使用类名访问static成员.
static成员在JVM中的存储:

类成员和实例成员的访问 :
类中的成员:字段,方法,内部类.
类成员: 使用static修饰的成员.
实例成员: 没有使用static修饰的成员.
类成员,直接属于类, 可以通过类来访问static字段和static方法.
实例成员,只属于对象, 通过对象来访问非static字段和非static方法.
(对象其实可以访问类成员,但是底层依然使用类名访问的.)
在static方法中,只能调用static成员.
非static方法,可以访问静态成员,也可以访问实例成员.

什么时候定义成static的字段和方法:
如果这个一个状态/行为属于整个事物(类),就直接使用static修饰.
被所有对象所共享.
在开发中,往往把工具方法使用static修饰.
如果不使用static修饰,则这些方法属于该类的对象,我们得先创建对象再调用方法,在开发中工具对象只需要一份即可,可能创建N个对象,此时我们往往把该类设计为单例的.,但是还是有点麻烦.
所以,一般的,在开发中设计工具方法,为了调用简单,我们使用static修饰.
类成员的使用
利处:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象中都存储一份,可以直接被类名调用。
弊端:生命周期过长

访问权限修饰符:
访问权限控制
private: 表示私有的, 表示类访问权限. 只能在本类中访问,离开本类之后,就不能直接访问.
不写(缺省): 表示包私有,表示包访问权限. 访问者的包必须和当前定义类的包相同才能访问.
protected: 表示子类访问权限,同包中的可以访问,即使不同包,但是有继承关系,也可以访问.
public: 表示全局的,可以公共访问权限,如某个字段/方法,使用了public修饰,则可以在当前项目中任何地方访问.

java(5)---static修饰符相关推荐

  1. Java中static修饰符的作用

    近日在做网络通信服务器和客户端的Java语言开发,碰到了获取客户端长连接Channel对象,利用唯一对象Client的获取方法getSingleClientInstance(),以为可以得到,但是显示 ...

  2. java static修饰方法_浅析Java中static修饰符

    1.概述 static关键字的中文意思是静态的,该修饰符可以修饰字段.方法.内部类.使用该关键字修饰的内容,在面向对象中static修饰的内容是隶属于类,而不是直接隶属于对象的,所以static修饰的 ...

  3. Java知识(static修饰符和fina修饰符l)

    1. static static可以用来修饰属性.方法和代码块:static修饰的属性和方法称为 类属性(类变量/静态属性)和类方法/静态方法.只要类被加载编译,静态类.静态属性.静态代码块就会自动被 ...

  4. Java 加static修饰符的含义

    静态变量 静态变量是在虚拟机加载进class,存储在方法区中的,类初始化便对该静态变量赋值,是唯一的,即通过类便可以访问,在任意实例对象中也可以访问,相当于是共享变量,但是不建议. 静态方法 静态方法 ...

  5. java反编译工具gd gson,浅谈Android中static修饰符,及Gson转String实例

    肯定会很奇怪,为什么要把Gson和Static放一起去讲,因为在开发中,json这个东西是很常用的,不管是格式,还是数据的传递,还是我们与后台之间的交互,都离不开JSON,而今天,是在帮一个同行用ts ...

  6. Java-Day11 面向对象遍程的入门 (类属性的默认值、构造方法、类的成员、static关键字、类的成员加载顺序、Java(权限)访问修饰符)

    目录 1. 类的属性的默认值问题 2. 构造方法(Constructor) 3. 类的成员 3.1 类的成员之一:属性 3.2 UML类图 4. static关键字 5. 类的成员加载(运行)顺序 6 ...

  7. 10.0_[Java 封装]-抽象/封装/构造/重载/ static 修饰符

    ################################################## 目录 抽象编程 面向对象设计的过程 类和对象的关系 为什么使用面向对象 this 关键字 类的成员 ...

  8. 关于Java中各种修饰符与访问修饰符的说明

    关于Java中各种修饰符与访问修饰符的说明 类: 访问修饰符  修饰符  class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 ...

  9. Java非访问修饰符

    Java非访问修饰符 为了实现一些其他的功能,Java 也提供了许多非访问修饰符. Static:修饰符,用来创建类方法和类变量. Final:修饰符,用来修饰类.方法和变量,final修饰的类不能够 ...

最新文章

  1. Eclipse插件CheckStyle的安装和使用
  2. android与php使用base64加密的字符串结果不一样解决方法
  3. React Native在美团外卖客户端的实践
  4. 停止运行_锅炉停止运行应注意哪些事项?
  5. linux unix域socket_计算机通信之谜,带你彻底理解socket网络编程(一)
  6. 最新微信公众平台源码
  7. java web服务器cpu占用过高的处理 (2014-07-21 17:17:36)
  8. 最优传输论文(十七):Sinkhorn Distances: Lightspeed Computation of Optimal Transport论文原理
  9. build Variants创建不同配置的app(图文详解)
  10. android 强制退出程序,Android 强制且彻底的退出app
  11. MATLAB时频工具箱函数说明(包含工具箱的下载,安装,使用)
  12. java try catch 输入字符串_java – 没有在try / catch中捕获NumberFormatException
  13. Leetcode-1737-满足三条件之一需改变的最少字符数
  14. 游戏外挂内存数据读取
  15. windows SDK模拟游戏钢琴的实现(一)
  16. 如何根据实际需求选择合适的三维实景建模方式?
  17. vue 小游戏 案例
  18. python华为corba接口_CORBA接口用戶手册.doc
  19. JavaIDE介绍:Eclipse
  20. 【61期分享】4款个人简历PPT模板免费下载

热门文章

  1. mtk一键usb驱动_6寸三防手持终端 Windows系统 安卓系统,高通 MTK 条码扫描 NFC
  2. 【STM32】关闭JTAG接口,引脚设置推挽输出
  3. 公务员计算机软件及相关专业,公务员计算机专业考试大纲和真题3
  4. mysql二级缓存redis_redis实现二级缓存
  5. 页描述符 linux,有关Crontab导致Linux文件描述符...-探讨:crond 引发大量sendmail进...-linux下的ulimit命令用法解析(图文)_169IT.COM...
  6. oracle如何添加undo,ORACLE RAC 11G 添加以及删除UNDO表空间
  7. [HAOI2015]树上染色(树形背包)
  8. Android_(控件)使用自定义控件在屏幕中绘制一条虚线
  9. JavaScript-12(脚本化CSS)
  10. linux -- su和sudo命令的区别