-2

例如,两者class都在同一package

class A extends JFrame{

    public JTextField username = new JTextField;
    A a = new A();
    ------------------------------
    ------------------------------
}

class B extends JFrame{
    String user;

    // i am able to acess like this
    user = new A().username.getText();
    //but i want to acess like followin and its not working
    user = a.username.getText();
}

如果可以的话建议我

4

3 回答 3

0

尝试这个:

class A extends JFrame{

    public JTextField username = new JTextField();        
}

class B extends JFrame{
    String user;
     A a=new A();   //Now A's instance a is B's field.

    //Now, Inside A Method You Can DO:
    user = a.username.getText();
}
于 2012-09-01T09:13:33.827 回答
0

这应该工作

class A extends JFrame{

  public static JTextField username = new JTextField;

} 

class B extends JFrame{
  String user;

  user = A.username.getText();
}
于 2012-09-01T09:14:19.593 回答
0

答: 中没有a定义任何名称class B。所以a.username在 内没有任何意义class B

很抱歉没有多说,但是由于不清楚您要实现的目标,所以不能多说。

评论:注意class B不继承自class A. 这可能(也可能不是)是一个错误。

附加评论:

如果您确定整个程序只有一个“a”,则可以将其设为静态成员:

class A {
   static A a = new A ();
   ...
}

class B {
   void someMethod () {
      // you can access a in class A as follows:
      A.a.doSomething ();
   }

}
于 2012-09-01T08:10:52.037 回答