我在用java做个application,现遇到一个问题。
登陆后,想在以后都能使用该用户的基本信息,比如userid,department等,可java中没有全局变量之说,我应该用什么办法实现呢?

解决方案 »

  1.   

    lz不妨可以通过读取xml文件来实现
      

  2.   

    用static
    弄一个public类,把里边的变量弄成static的,这样就可以当全局的用.
      

  3.   

    举个例子,我做一个小程式,仓库管理,用户A本次登陆,A要做一些单据,这些单据里面就要记录做单据的人,如何让该用户的ID在系统运行的过程中都可以被引用? 
      

  4.   

    以上的问题,有个东西叫session,有个bean的范围叫session和application
      

  5.   

    可以用session 或 cookie !
      

  6.   

    public class ss
    {
      public static int userid = 0;
      public static String department = null;
    }ss.userid = 123;
      

  7.   

    做一个PUBLIC类,把里面的成员变量定义为STATIC
      

  8.   

    class User{
        
        //{数据定义
        /**用户名
         */
        String name;
        
        /**密码
         */
        String pass;
        
        ///////还有别的用户数据
        //}
        
        
        User(){
            name = "";
            pass = "";
        }
        User( String na, String pa){
            setValue( na, pa);
        }    public void setValue( String na, String pa) {
            setName( na);
            setPass( pa);
        }
        
        public synchronized void setPass(  String pa){
            pass = new String( pa);
        }
        
        public synchronized void setName( String na){
            name = new String( na);
        }
        
        public String getName(){
            return name;
        }
        
        public String getPass(){
            return pass;
        }
      
        public User cone(){
            return new User( name, pass);
        }
    }
    class Team{
        
        //{数据定义
        /**定义可以存放最大的用户数
         */
        private final static int MAX_COUNT = 10;
        
        /**存放当前的用户数
         */
        private int UserCout;
        
        /**数组存放用户名
         */
        private User Users[];
        
        /**存放自己的全局指针
         */
        static private Team IsThis;
        
        
        //////////还有要用到的数据
        //}
        
        
        private Team(){
            Users = new User[ MAX_COUNT];
        }
        
        /**得到全局的用户组对像
         */
        public synchronized static Team getTeam(){
            if( IsThis == null){
                IsThis = new Team();
            }
            return IsThis;
        }
        
        /**插入用户讯息,插入后排序
         */
        public synchronized boolean addUser( User user){
            if( user == null || user.getName() == null || UserCout >=  MAX_COUNT){
                return false;
            }
            Users[ UserCout++] = user.cone();
            if( UserCout > 1){
                User buff;
                for( int loop = UserCout - 1; loop > 0; loop--){
                    if( Users[ loop].getName().compareTo( Users[ loop - 1].getName()) >= 0){
                        buff = Users[ loop];
                        Users[ loop] = Users[ loop - 1];
                        Users[ loop - 1] = buff;
                    }else{
                        break;
                    }
                }
                buff = null;
            }
            return true;
        }
        ////////////其它的方法自己写
    }
    //只要还有Team的这对像的引用其内存空间就不会被释放
    //如果想要自己手动的方法要释放可以用添加线程的方法实现
    //添加的接口 class Team implements Runnable{
    //要添加的数据
        /**添加的线程
         */
        Thread thread;
        
        /**进各运行状态, 当为 false 时进程结束, 静态对像 Team IsThis 内存空间释放
         */
        boolean IsRunning;
        
    //在 Team() 中加入初始化代码 
             thread = new Thread( this);
            IsRunning = true;
            thread.start();//要添加的方法    /**结束线程
         */
        public synchronized void exit(){
            if( thread.isAlive()){
                IsRunning = false;
            }
        }
        
        public void run() {
            while( IsRunning){
                try {
                    Thread.sleep(100);
                } catch (InterruptedException ex) {
                }
            }
            IsThis = null;
        }
      

  9.   

    在一个public类里static一个变量,就可以了,用时候直接“类.变量”就行了,当然,要先import包含这个类的包
      

  10.   

    如果是web,可以用jsp读取cookie或者session
      

  11.   

    public static final String a="123"这是全局变量.一般在WEB中建议不要使用全局变量.建议写入XML.你的初始设置中.