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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    《Orange'S:一个操作系统的实现》与上一版之比较
    IPC
    末日帝国——Agile公司的困境 (2)
    取经学道真经验——你听过这么享受的培训吗
    数据库设计指南(五)数据库小技巧
    软件项目开发典型风险一览
    数据库设计指南(四)保证数据的完整性
    官网的Ext direct包中.NET版的问题
    软件项目开发应写的13类文档
    面试EJB常考题
  • 原文地址:https://www.cnblogs.com/zheting/p/7751764.html
Copyright © 2011-2022 走看看