[Java] Java 中的 static 使用之静态变量

[复制链接]

51

主题

56

帖子

283

积分

版主

代码控

Rank: 7Rank: 7Rank: 7

积分
283

突出贡献优秀版主荣誉管理

QQ
218 0 joy 发表于 2016-12-30 00:47:23

  大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。
  然而在某些时候,我们更希望该类所有的对象共享同一个成员。
  此时就是 static 大显身手的时候了!!

  Java 中被 static 修饰的成员称为静态成员或类成员。
  它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。
  静态成员可以使用类名直接访问,也可以使用对象名进行访问。
  当然,鉴于他作用的特殊性更推荐用类名访问~~

  使用 static 可以修饰变量、方法和代码块。

  本小节,我们先认识一下静态变量。

  例如,我们在类中定义了一个 静态变量 hobby ,操作代码如下所示:
  1. public class HelloWorld{
  2.     // static修饰的变量为静态变量,所有类的对象共享hobby
  3.     static String hobby = "imooc";

  4.     public static void main(String[] args){
  5.         // 静态变量可以直接使用类名来访问,无需创建类的对象
  6.         System.out.println("通过类名访问hobby:" + HelloWorld.hobby);

  7.         // 创建类的对象
  8.         HelloWorld hello = new HelloWorld();

  9.         // 使用对象名来访问静态变量
  10.         System.out.println("通过对象名访问hobby:" + hello.hobby);

  11.         // 使用对象名的形式修改静态变量的值
  12.         hello.hobby = "爱慕课";

  13.         // 再次使用类名访问静态变量,值已被修改
  14.         System.out.println("通过类名访问hobby:" + HelloWorld.hobby);
  15.     }
  16. }
复制代码


  运行结果:
  1. 通过类名访问hobby:imooc
  2. 通过对象名访问hobby:imooc
  3. 通过类名访问hobby:爱慕课
复制代码


  要注意哦:静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收!~~


夜深人静之时,头发斑白的老程序员会蜷缩在床上,欣赏一段精彩的子程序,或者苦思冥想一个绝妙的宏结构;而那些年少轻狂的程序员,则可能正在通过终端与别人聊得不亦乐乎。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本专栏主要提供Java相关技术的学习交流。望大家积极踊跃发言,共建一个良好的学习环境!
  • 今日
    0
  • 主题
    365

推荐阅读

精选帖子

Archiver|手机版|小黑屋| 极客社区 ( 京ICP备14042200号-2 )

Powered by 张董丶 X3.2 © 2016-2026

返回顶部 返回列表