近日在做网络通信服务器和客户端的Java语言开发,碰到了获取客户端长连接Channel对象,利用唯一对象Client的获取方法getSingleClientInstance(),以为可以得到,但是显示始终为空指针。之后又换了好几种获取值的办法,一直是空指针。最后想着static修饰符的作用不是初始化就给了唯一一个内存空间吗?所以改用在Client属性中声明Channel对象为静态对象,又利用getChannel()获取这个静态对象,终于找到你,此时很激动Elate。所以全面的找了一下static修饰符的用法。


既然是修饰符,当然可以修饰一切可以修饰的对象 。 比如,变量、方法、代码块、内部类!也可以这样理解,static域和非static域的存储空间是不同的,被static修饰符修饰的对象,都被存储在静态存储区,当然,每个类的方法也是在静态存储区的。这也就是所说的static修饰的变量和方法被称为类属性和类方法,不隶属于哪一个对象。

1. 变量
一个变量有了static修饰符,内存会为它分配唯一的一块存储空间。程序跑起来的时候,变量就存在在内存里了。谁要用它,就去访问一下它所在的内存。

2. 方法
一个方法被static修饰,可直接访问;不被static修饰,就需要用对象来访问了。

3. 代码块
静态块–>非静态块–>构造函数的顺序执行。
加载静态块时为它分配固定的内存,程序结束时内存才被释放。而非静态块和构造函数则是new一次执行一次。

4. 内部类
只能修饰内部类。
静态内部类也可以拥有静态方法和非静态方法
静态内部类只可以访问外部类的静态成员和静态方法,不可以访问非静态成员和非静态方法
静态内部类访问自己内部的静态成员和静态方法时,也是通过点出来的,不过在前面需要加上外部类的名字。

5.静态导包
静态导包用法,将类的方法直接导入到当前类中,从而直接使用“方法名”即可调用类方法。在单元测试中用的多。比如Assert类的静态导入。

6. 注意事项
被static修饰的方法中不能出现非static对象。

Java中static修饰符的作用相关推荐

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

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

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

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

  3. java中访问修饰符_Java中的非访问修饰符是什么?

    java中访问修饰符 Java非访问修饰符 (Java non access modifiers) We have 7 non-access modifiers in Java. The name o ...

  4. Java 中的修饰符总结

    学习了编写 Java 程序中的修饰符总结,而在编写Java程序时,都会遇到Java中的修饰符总结.所以往下面学习时,应当注意以下几点: 修饰符总结:四个访问控制符:注意:在不写访问控制符的情况下,就是 ...

  5. java中访问修饰符_Java中的访问修饰符介绍

    java中访问修饰符 什么是访问修饰符? (What are Access Modifiers?) Have you ever wanted to define how people would ac ...

  6. Java中权限修饰符

    Java中访问修饰符public.private.protect.default范围   同一个类 同一个包 不同包的子类 不同包的非子类 Private √ Default √ √ Protecte ...

  7. java中static修饰函数_详解java中static关键词的作用

    在java中,static是一个修饰符,用于修饰类的成员方法.类的成员变量,另外可以编写static代码块来优化程序性能:被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载 ...

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

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

  9. 在java中 接口修饰符,Java接口中的修饰符

    示例 < Oracle Java样式指南>指出:当修饰符是隐式的时,不应将它们写出来. (有关上下文和指向实际Oracle文档的链接,请参见Oracle Official Code Sta ...

最新文章

  1. python输入若干个整数试找出其中的最大数和最小数_Python编程的若干个经典小技巧...
  2. 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(5)
  3. Java 编程下使用 Class.forName() 加载类
  4. C语言 函数式宏的使用
  5. 数据挖掘系列(5)使用mahout做海量数据关联规则挖掘
  6. Silverlight与WCF之间的通信(5)silverlight应用和wcf服务的发布方法
  7. 找出无序数组中最小的k个数(top k问题)
  8. 瞧瞧UC浏览器对CSS样式的“关怀”
  9. 盘点常用Java排序算法
  10. java dao层的泛型get方法_dao层的泛型实现(2种方法)
  11. PyTorch 1.0 中文官方教程:使用ONNX将模型从PyTorch传输到Caffe2和移动端
  12. Java字符串首字母大写
  13. 如何免费制作支付宝微信合并收款二维码?
  14. WEB数据库管理平台kb-dms:功能简介【一】
  15. 把PDF/AZW/EPUB转成图片
  16. 四参数拟合曲线_Origin进行体外释药规律的拟合
  17. 2011版MacBook Air win7安装教程
  18. 我的Qt作品(5)使用Qt+Halcon实现模板匹配;支持ROI框选/橡皮擦涂抹功能
  19. 记Global Protect安装的一次坑旅
  20. 一位博士论文的致谢部分

热门文章

  1. 帆软finereport学习路线,如何拿到fcrp-D证书?
  2. 我参加 NVIDIA Sky Hackathon——有关ASR模型相关简述
  3. Soul提交港股上市申请,社交元宇宙发展备受期待
  4. 如何缩小pdf文件的大小便于上传?在线压缩pdf工具推荐
  5. 2020劳务员-岗位技能(劳务员)考试题库及劳务员-岗位技能(劳务员)模拟考试题
  6. Safari 为什么取这个名字
  7. mybatis之关联关系映射(一对多和多对多关系)
  8. 《手把手陪您学Python》50——数组的dtype属性
  9. pfSense防火墙查看NDP邻居无响应
  10. 好懂的Python教程