zoukankan      html  css  js  c++  java
  • Java全局变量

    全局变量:Java程序中,不能在所有类之外定义全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量。例如:ClassGlobalVar{public static global_var;}在类GlobalVar中定义变量global_var为public static,使得其它类可以访问和修改该变量。Java对全局变量进行了更好的封装。而在C和C++中,依赖于不加封装的全局变量常常造成系统的崩溃。

      全局变量是类中的成员变量,存放在堆区。

    做一个类用静态属性保存它:

    public class Global{
      public static int status;
    }
    
    //调用:
    if(isSuccess)    Global.status = 1;
    else             Global.status = -1;
    //定义一个公开类,在里面加static 变量。
    public class infos{
      private infos(){
      }
       public static int PORT = 80;
       public static String IP = "166.111.166.111";
       public static boolean test = true;
       public static finale String MYNAME="zzz"; //定义中用了finale,就是不能改变指的。
    }

    在别的class中调用这些变量就是: infos.PORT,infos.IP,infos.test,infos.MYNAME
    多个class交互时可以通过改变这些变量的值来传递信息。比如 infos.test被别的class改成了false,可能表示某一件事已经失败或已经做过,其它class就可以提前知道这些信息。

    最好不要使用全局变量。

     

    另外

    1.头文件:C、C++中用头文件来声明类的原型以及全局变量、库函数等,在大的系统中,维护这些头文件是很困难的。而Java不支持头文件,类成员的类型和访问权限都封装在一个类中,运行时系统对访问进行控制,防止对私有成员的操作。同时,Java中用import语句来与其它类进行通讯,以便使用它们的方法。

    2.结构和联合:C、C++中的结构和联合中所有成员均为公有,这就带来了安全性问题。Java中不包含结构和联合,所有的内容都封装在类中。

    3.预处理:C、C++中用宏定义来实现的代码给程序的可读性带来了困难。在Java中,不支持宏,它通过关键字final来声明一个常量,以实现宏定义中广泛使用的常量定义。

  • 相关阅读:
    EntityFramework 数据库的迁移
    free之后将指针置为NULL
    结构体对齐及#pragma详细解释
    大端小端
    TCP封包解包---如有错误,请纠正!
    堆栈----好久没有更新了
    附近点搜索
    LRU Cache
    电商的秒杀和抢购
    搜索关键词智能提示suggestion
  • 原文地址:https://www.cnblogs.com/Eason-S/p/5421897.html
Copyright © 2011-2022 走看看