类属性作为该类各个对象之间共享的变量。在设计类时,分析哪些属性不因对象的不同而改变,将这些属性设置为类属性。如果方法与调用者无关,则这样的方法通常被声明为类方法,由于不需要创建对象就可以调用类方法,从而简化了方法的调用。


在Java类中,可用static修饰属性、方法、代码块、内部类

被修饰后的成员具备以下特点:
①随着类的加载而加载
②早于对象存在
③修饰的成员,被所有对象所共享
④访问权限允许时,可不创建对象,直接被类调用


类属性(类变量)

按是否使用static修饰,分为:静态属性(类变量)和非静态属性(实例变量)

实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改。

静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变量时, 会导致其他对象调用此静态变量时,是修改过了的。

由于类只会加载一次,则静态变量在内存中也只会存在一份: 存在于方法区的静态域中。


类方法

没有对象的实例时,可以用类名.方法名()的形式访问由static修饰的类方法。
在static方法内部只能访问类的static修饰的类属性或类方法,不能访问非static的成员。

静态方法中,只能调用静态的方法或属性。
非静态方法中,既可以调用非静态的方法或属性,也可以调用静态的方法或属性。

在静态的方法内,不能使用this关键字、super关键字。

操作静态属性的方法,通常设置为static的。
工具类中的方法,习惯上声明为static的。比如: Math、Arrays、collections。

Java面向对象(15)--static关键字静态理解与使用相关推荐

  1. java static关键字_好程序员Java教程分享static关键字的理解

    好程序员Java教程分享static关键字的理解,static关键字含义可以理解为静态的. 1. 当其修饰属性时,该属性为整个类公有,所有的对象操作的都是同一个静态属性.所以调用时应该使用类名去调用, ...

  2. Java 面向对象:super关键字的理解

    Java 面向对象:super关键字的理解 一.Super关键字: 1. super调用父类的构造方法,必须在构造方法的第一个 2. super只能出现在子类的方法或构造方法中! 3. super和t ...

  3. 【职坐标】java面向对象前言——static关键字

    Java面向对象前言 -- static关键字详解 一.      Static关键字的概念 static为"全局"或者"静态"的意思,用来修饰成员变量(类的属 ...

  4. Java 面向对象:static的理解

    Java 面向对象:static的理解以及各个代码块的运行顺序 一.static关键字 static修饰方法--称为静态方法,可以直接通过类名调用 static修饰变量--称为静态变量,能被类中所有实 ...

  5. java中static关键字的理解(转载)

    static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列 ...

  6. 面试季,Java中的static关键字解析

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面 ...

  7. Java中的static关键字解析 转载

    原文链接:http://www.cnblogs.com/dolphin0520/p/3799052.html Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到 ...

  8. 从内存分配角度分析c和java里的static 关键字.

    即使作为Java的初学者, 对this 和 static 这两个关键字都不会陌生. 其实也不难理解: this 关键字:  指的是对象的本身(注意不是类本身)  跟.net 语言的Me 关键字类似. ...

  9. [转] Java中的static关键字解析

    Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...

最新文章

  1. python08-类与对象
  2. 使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决
  3. qt的项目中单个文件加载样式表
  4. (6) 如何用Apache POI操作Excel文件-----POI-3.10的一个和注解(comment)相关的另外一个bug...
  5. 2013年4月管理计算机应用,全国2013年4月高等教育自学考试管理系统中计算机应用试题及答案...
  6. mac下IDEA远程调试hive-2.2.0
  7. 简单的busybox创建_用busybox构建一个最小根文件系统
  8. SA: 情感分析资源(Corpus、Dictionary)
  9. 内存带宽测试程序——stream2-C语言版
  10. 快捷指令快速保存无水印视频和图集
  11. 用java怎么开发图片标注工具,图片标注工具选型
  12. android m4a播放器,如何在android上解码m4a音频
  13. hammer.js教程2
  14. 20154327 Exp9 Web安全基础
  15. 王晓昀-PowerDesigner与模型驱动开发-UMLChina讲座-音频和幻灯
  16. Linux常用命令介绍(20个)——《鸟哥的Linux的私房菜》
  17. FANUC数控机床的维修 从原理开始(二)
  18. php 怎么获取网址,php如何获取当前网址/URL
  19. 计算机在存储时间格式,U盘能记录时间吗,文件存入U盘中,文件存入时间(电脑上的时间)会不会记录在U盘里?...
  20. 中国汽车仪表玻璃市场运行分析与投资前景预测报告2022-2028年

热门文章

  1. JavaFX 2 GameTutorial第1部分
  2. 用于数据库测试的DBUnit,Spring和注释
  3. 在Hibernate,EhCache,Quartz,DBCP和Spring中启用JMX
  4. web自动化如何在不同浏览器运行_自动化决策环节的“心脏”将如何与众不同?...
  5. 【安卓开发 】Android初级开发(十一)Android中多线程
  6. 【开源项目】基于FFmpeg的PCM和RGB数据统一封装
  7. 计算机怎么没有桌面文件夹名称大全,你的电脑文件总是找不到?是时候学习文件夹分类整理了...
  8. html中引入js柱状图,Echarts.js 图表在layui中的引用
  9. 客户端怎么远程上服务器失败,远程客户端连接不上,与服务器那台,跨网络,怎么解决...
  10. python装饰器作用噜咕_python 装饰器的实际作用有哪些