zoukankan      html  css  js  c++  java
  • static修饰符

    在java语言中,没有实际意义上的全局变量。变量最大的作用域范围就是类。如果两个类或多个类之间需要共享数据,单纯依靠参数进行传递,就会花费大量的代码去完成。

    实际上,完全可以利用java语言静态变量实现 数据的共享。在java语言中,被static关键字修饰的块、方法和变量被称为静态块、静态方法、静态变量。静态变量和静态方法

    可以直接通过类名来访问。静态代码块,当java虚拟机加载类时,就会执行该代码块。静态变量(也叫类变量)和静态方法归某个类所有,不依赖于类的特定实例,被类的

    所有实例共享,只要这个类被加载,java虚拟机就能根据类名在运行时数据区的方法区内定位到它们。

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

    • 静态方法在内存中只有一个拷贝,运行时Java虚拟机只为静态变量分配一次内存,在加载类的过程中完成静态变量的内存分配。可以直接通过类名访问静态方法。
    • 对于实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响。

    使用静态方法时,应注意下面3个原则:

    • 类的静态方法只能访问其他的静态成员;
    • 静态方法不能使用this和super;
    • 静态方法不能被覆盖为非静态方法。
    • 静态方法内部使用非静态成员变量,否则将出现语法错误。

    静态代码块 指位于类声明的内部,方法和构造方法的外部,使用static修饰的代码块。静态代码块在该类第一次被使用时执行一次,以后再也不执行。

  • 相关阅读:
    关闭编辑easyui datagrid table
    sql 保留两位小数+四舍五入
    easyui DataGrid 工具类之 util js
    easyui DataGrid 工具类之 后台生成列
    easyui DataGrid 工具类之 WorkbookUtil class
    easyui DataGrid 工具类之 TableUtil class
    easyui DataGrid 工具类之 Utils class
    easyui DataGrid 工具类之 列属性class
    oracle 卸载
    “云时代架构”经典文章阅读感想七
  • 原文地址:https://www.cnblogs.com/zheting/p/7751764.html
Copyright © 2011-2022 走看看