-2

我想在类的构造函数中访问 name 和 age 的值 Choose 我提到的 public Choose(){ 它们存储在 NewP 的 GetValues 方法中

选择.java

class Choose {
    String Cn,Ca;
    public Choose(){
        btn.addMouseListener{
        }
    }

    public static void gtNp(string nn,string aa) {
        Cn=nn;
        Ca=aa;
    }

}

新P.java

class NewP {
    Choose C1 = new Choose();

    NewP() {
       btn.addMouseListener{
           GetValues();
           Choose.gtNp(name,age);       
       }
    }

    public NewP GetValues(){
        Name=         ;
        Age=            ;
        return null;
    }

}
4

1 回答 1

3

我目前可能无法理解您的代码,但它在某种程度上令人困惑。我发现了几个问题。

首先,您有一个static设置Choose类值的方法,这应该会导致错误,因为您正在从静态上下文访问非静态变量。您应该改用 getter 和 setter(或者直接使用字段,其他人可能会说)。使用这种方法:

public static void gtNp(string nn,string aa){
    Cn=nn; //Java convention: fields and methods start with lowercase.
    Ca=aa;
}

将导致所有实例共享相同的值,Choose但当然,这可能是所需的行为。如果它们与实例相关,则可以在构造函数中传递这些值:

public Choose(String nn, String aa){
   cn = nn; //To adapt your code to the convention, I've used lowercases here.
   ca = aa;
   btn.addMouseListener{
}

无论哪种方式,您都需要为这些字段添加 getter 或 setter。您可能想要检查什么settersgetters是并实施它们。我会把这些留给你练习。

以下是一些可以帮助您的基本链接:

于 2013-03-05T17:04:31.463 回答