在一个类中声名一个对象,要在一个外部类中调用该对象,如何调用?(要是同一个对象)

解决方案 »

  1.   

    LZ所说的对象是public static的?
      

  2.   

    public class A{
       public static String s;
    }public class B{
        public void print(){
              System.out.println(A.s);
        }
    }
      

  3.   

    public class A{
       public static String s;
    }public class B{
        public void print(){
              System.out.println(A.s);
        }
    }
      

  4.   

    “在一个类中声名一个对象,”
    这个话不严格,一个对象b出现在一个类A里面,只有两种可能,第一,这个对象b是该类A的成员变量,如果要在该类的尾部使用该对象,那就很简单,没啥不可以的。如果,该成员变量b是实例变量,只需要创建一个该类的对象阿,使用对象名+点操作符+成员变量(即对象b)名就可以访问了:a1.b  
    如果该成员变量b是静态的,那么,除了上面的方法外,还可以通过类名访问:A.b 。第二,这个对象出现在类的方法内部,是一个局部变量。那么,在类的外部是无法使用该对象的,因为局部变量旨在方法内部有意义。
      

  5.   

    class A{
    }
    class B{
    public void display(A a){
    //do something with a here
    }
    }
    public class Test{
    public static void main(String[] args){
    A a=new A();
    B b=new B();
    b.display(a);
    }
      

  6.   

    楼上的做法显然有问题。你定义了一个内部类,但是却没有它的对象,这不符合楼主的要求的。
    注意:你的display方法里的形参变量a是一个局部变量,它在该方法之外没有定义的。b.display(a); 
    这个语句是错误的,编译通不过。
      

  7.   


    第一,这个对象b是该类A的成员变量,如果要在该类的尾部使用该对象,那就很简单,没啥不可以的。如果,该成员变量b是实例变量,只需要创建一个该类的对象阿,使用对象名+点操作符+成员变量(即对象b)名就可以访问了:a1.b ==========================================4楼说的也不清楚呀,楼主可别被他误导哦...对于一个类,一般所谓的成员变量就是指实例变量;另外还有一种就是类变量,就是静态的成员变量.对楼主的问题还有一种做法就是用提的方法返回你要的这个对象,但这个对象只能是类变量,所以提供的方法也只能是静态的.
    例如:   public class A{
           public static A a = new A();       public static A getInstance(){
               return a;
           }
       }   public class B{
           public static void main(String[] args){
              System.out.println(A.getInstance().toString());
           }
       }
    不过这样做并没有直接用类名.类变量好用的,也没有这个必要的.不过你若看过设计模式,一定知道singleton的实现,你可以看一下的:   public class Singleton{
        
           private Singleton(){
           }       private static Singleton singleton = new Singleton();       public static Singleton getInstance(){
               return singleton;
           }
        }也能实现你的功能,但这个只能用调用方法来得到你要对象,而且在整个jvm实例中只能被有一个实例.
      

  8.   


    是的,可以说lixkyx说的不存在实质问题,但对于一个被学者来说,一会是成员变量,一会是实例变量,一会又是静态的成员变量.哪不清楚的人可能还会问哪不是静态的变量呢,哪又叫什么呀? 然后我又说了类变量,这岂不让被学者头痛.或者你这样说:非静态的成员变量(就是实例变量)和静态的成员变量(就是类变量),这样不是清楚些?再说我又没说你说错了,只是说你没说清楚呀,还执迷不误?