我在一个类中要获得另一个类中的static 的静态变量,  不过第二个类是一个线程类.我要在线程中为这
个静态的变量赋值  ,然后在第一个类中输出.(可能下面的代码有些问题,这个不重要.基本是这个意思.)    public class MyThreadMain{
     public static void main(String arg[]){
        MyThreadMain thMain=new MyThreadMain();
        trMain.getName();
     }     public void getName(){
         MyThread my=new MyThread();
         System.out.println("[First Print]Name: "+MyThread.name);
     }   
  }  
  public class MyThread extends Thread{
     public static String name="";
     
     public void run(){
        if(name.length==0){
           name="OK"
           System.out.println("[Second Print]Name: "+name);
        }
     }
  }

解决方案 »

  1.   

    在getName方法里,你并没有起动一个线程啊。
      

  2.   

    static变量是类级别的,所以,MyThread.name直接赋值取值都可以
      

  3.   

    LZ看看这个代码是否是你想表达的呢?
    public class MyThreadMain
    {
    public static void main(String arg[])
    {
    MyThreadMain thMain = new MyThreadMain();
    thMain.getName();
    } public void getName()
    {
    MyThread my = new MyThread();
    my.start();

    try
    {
    Thread.sleep(1000);
    }
    catch(Exception e)
    {

    }
    System.out.println("[First Print]Name: " + MyThread.name);
    }
    }class MyThread extends Thread
    {
    public static String name = ""; public void run()
    {
    if (name.length() == 0)
    {
    name = "OK";
    System.out.println("[Second Print]Name: " + name);
    }
    }
    }