在Java语言中,static表示“静态”的意思,使用场景可以用来修饰成员变量和成员方法,当然也可以是静态代码块。static的主要作用在于创建独立于具体对象的域变量或者方法。

格式:

修饰变量:static 数据类型 变量名

修饰方法:【访问权限修饰符】 static 方法返回值 方法名(参数列表)

特点:

1、static可以修饰变量和方法;

2、被static修饰的变量或者方法是独立于该类的任何对象,也就是说,这些变量和方法不属于任何一个实例对象,而是被类的实例对象所共享;

3、在类被加载的时候,就会去加载被static修饰的部分;

4、被static修饰的变量或者方法是优先于对象存在的,也就是说当一个类加载完毕之后,即便没有创建对象,也可以去访问。

静态变量和实例变量的区别:

实例变量:每次创建对象,都会为每个对象分配成员变量内存空间,实例变量是属于实例对象的,在内存中,创建几次对象,就有几份成员变量。

静态变量:静态变量由于不属于任何实例对象,是属于类的,所以在内存中只会有一份,在类的加载过程中,JVM为静态变量分配一次内存空间。

应用场景:

如果某个成员变量是被所有对象所共享的,那么这个成员变量就应该定义为静态变量。

注意事项:

1、在静态方法中没有this关键字,因为静态是随着类的加载而加载,而this是随着对象的创建而存在的。静态比对象优先存在。

2、静态可以访问静态的,但是静态不能访问非静态的。

3、非静态的可以去访问静态的。

推荐教程:Java教程

java的静态如何理解_java中的静态是什么?如何理解?相关推荐

  1. java构造块_java中的静态代码块、构造代码块、构造方法详解

    运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...

  2. java 数组存入数据库_Java中关于二维数组的理解与使用

    今天练习的时候遇到一个题目,题目需求是这样的: 需求说明: 根据3个班各5名学生某门课程的成绩,正确使用二维数组计算如图所示3个班各自的总成绩 分析: 要实现这个功能需要存储两个信息: 一个是班级信息 ...

  3. java不等长二维数组_Java中关于二维数组的理解与使用

    今天练习的时候遇到一个题目,题目需求是这样的: 需求说明: 根据3个班各5名学生某门课程的成绩,正确使用二维数组计算如图所示3个班各自的总成绩 分析: 要实现这个功能需要存储两个信息: 一个是班级信息 ...

  4. java静态变量特点_Java中static的特点

    前两天面试时被问到静态的特点,当时回答地不是很好,现在来总结一下 在了解某样东西的时候我们通常会从它是什么,为什么,和怎么样在三方面来衡量,对于java中的static,我们也这样讨论下,要明确以下几 ...

  5. java对象类型有哪些_Java中常用的对象数据类型有哪些?它们分别又占多少个字节呢?...

    CSDN上面有关于数据类型的一篇总结详细的文章,顺便复制过来: 在java中常见的数据类型有哪些 ? 内置数据类型类型名称字节.位数最小值最大值默认值例子 byte字节1字节,8位-128(-2^7) ...

  6. java常见的报错_Java中常见的错误有哪些?

    原标题:Java中常见的错误有哪些? 1.java.lang.Error 错误.是所有错误的基类,用于标识严重的程序运行问题.这些问题通常描述一些不应被应用程序捕获的反常情况. 原因: 1.对系统所访 ...

  7. java i 线程不安全_java中的++i是线程安全的吗?

    java中的++i是线程安全的吗?为什么?怎么使它线程安全呢? 先说答案: 非线程安全 先说下为什么是非线程安全的? 从Java内存模型说起 Java内存模型规定了所有的便利都存储在主内存中,每个线程 ...

  8. java修饰类的关键字_JAVA中的修饰关键字

    今天我们来说说JAVA中的修饰关键字. 常用的有: 1.final 关键字 修饰成员变量:a. 必须初始化值. b. 被fianl修饰的成员变量赋值,有两种方式:1.直接赋值 2.全部在构造方法中赋初 ...

  9. java原始类型和引用类型_Java中的8种原始类型

    java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...

最新文章

  1. Python之目录结构
  2. Java 防抖动函数的实现
  3. 传统登录实现方式问题思考
  4. vscode vue解决跨域_Vue + WebPack + Typescript初学者VSCode项目 (按需加载、跨域调试、await/async)...
  5. 使用mintty(_如何使用Mintty改善Cygwin控制台
  6. 数据库操作php,一个数据库操作PHP类
  7. HashMap和Hashtable 线程安全性
  8. 修改USB固件库的Customer_HID例程
  9. windows的盘共享挂载到linux下,通过Windows共享文件夹直接挂载到Linux中使用(实验操作)...
  10. 2.2.2 物理层设备(中继器、集线器)(转载)
  11. 陆奇:欢迎毛圣博加入奇绩,成为奇绩创坛合伙人
  12. 移动宽带连接不上mysql_MySQL Workbench 6.2.4 下载 因为移动网络打不开官方也可能是国内网络问题 备用自己...
  13. java之模块学习-JAVA的IO流
  14. \r\n的来历与用法
  15. 现代交换技术的基本概念及基本知识
  16. 解决Word文档被锁,无法复制的问题
  17. 【转】SCI论文写法攻略
  18. CHAP MS-CHAPv2 EAP
  19. Excel获取指定数字格式文本——TEXT函数及其用法
  20. 品牌管理中使用FastDFS

热门文章

  1. c语言prime函数怎么用_C语言教程_v20201106
  2. win10电脑开机密码忘了怎么办_电脑开机密码忘了怎么办最简单的方法_windows7教程...
  3. MyEclipse格式化代码设置
  4. mac ---- 安装ftp服务器
  5. dict过滤 python_从Python dict获得独特的第一次出现的更有效方法
  6. 在线开关MySQL5.7 GTID_MySQL5.7 GTID在线开启与关闭【转】
  7. python代码修改nginx配置_生产环境部署python代码(django+uwsgi+nginx)
  8. Disruptor内存消息队列简单使用
  9. @Async异步功能
  10. C#在控制台输出异常所在的行数