Java的static

发布时间: 更新时间: 总字数:669 阅读时间:2m 作者: 分享 复制网址
专栏文章
  1. Java基本数据类型
  2. Java 中的值传递与引用传递
  3. Java中""与null的区别与总结
  4. Java中Enumeration与Iterator的对比
  5. Java中==和equals()的区别
  6. Java的final
  7. Java中List、Set和Map接口的对比
  8. Java中的properties使用
  9. Java的static(当前)
  10. Java String和StringBuffer的区别
  11. 什么是Java的main函数
  12. Java如何获取时间24小时制的时间
  13. Java 线程同步
  14. Java中日期类型和 Mysql 中日期类型进行整合

Java的static

说明

在Java中引入static,在编译时将变量存储在程序的静态存储区而非堆栈空间,并且静态数据成员按定义出现的先后顺序依次初始化。

使用static关键字的优势

  1. 节省内存空间。static变量对所有的对象是共有的,并且仅存储在一处。
  2. static变量可以更新。当对static变量进行更新时,所有对象在读取该变量时均为更新后的值。

static常用与修饰变量和方法

  1. static修饰的变量称为类变量,也称为静态变量;非static修饰的变量称为实例变量。他们的区别是:类变量属于类,通过类名.属性名使用;实例变量属于该类的一个对象,常通过对象名.变量名调用。
  2. static修饰的方法称为类方法,也称为静态方法;非static修饰的方法常称为实例方法。他们的区别是:类方法属于整个类,常通过类名.方法名调用;实例方法属于该类的一个对象,常通过对象名.方法名调用。

以上结论的前提是在访问控制权限允许的情况下。当然,对于静态变量和方法,也可以通过该类的对象名.变量名或方法名调用。

注意:

  1. static{}方法称为静态游离块。静态游离块总是在程序的首次执行时被调用且仅执行一次,常用于初始化程序中的数据(参数,类,文件等)。静态游离块于所在的位置无关,但不能位于方法和构造器中。
  2. static修饰的静态方法中不能使用this关键字,因为静态方法不属于任何一个实例。
  3. 静态方法不能被子类的静态方法覆盖。
  4. 对该类的多个对象来说,静态变量仅分配一次内存,供所有对象共用。类对象类变量在每次被实例化时对象时均会进行一个自身的拷贝,即分配新的内存空间。
专栏文章
  1. Java基本数据类型
  2. Java 中的值传递与引用传递
  3. Java中""与null的区别与总结
  4. Java中Enumeration与Iterator的对比
  5. Java中==和equals()的区别
  6. Java的final
  7. Java中List、Set和Map接口的对比
  8. Java中的properties使用
  9. Java的static(当前)
  10. Java String和StringBuffer的区别
  11. 什么是Java的main函数
  12. Java如何获取时间24小时制的时间
  13. Java 线程同步
  14. Java中日期类型和 Mysql 中日期类型进行整合
最新评论
加载中...
Home Archives Categories Tags Statistics