Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java访问另一个类中的一个类变量?_Java_String - Fatal编程技术网

如何使用Java访问另一个类中的一个类变量?

如何使用Java访问另一个类中的一个类变量?,java,string,Java,String,我创建了两个类,如下所示 public class A extends JFrame { public String x = "abcdefg"; } public class B extends JFrame { public String y; } 这两个类都扩展了JFrame。我想知道是否有一种方法可以让类B中的字符串y继承类a中的字符串x的值?我希望更新x或y也会更新另一个字符串 有没有办法让这两个类共用这些字符串?只要让B类扩展a就行了 public class A

我创建了两个类,如下所示

public class A extends JFrame {
    public String x = "abcdefg";
}

public class B extends JFrame {
    public String y;
}
这两个类都扩展了
JFrame
。我想知道是否有一种方法可以让
类B
中的
字符串y
继承
类a
中的
字符串x
的值?我希望更新
x
y
也会更新另一个字符串


有没有办法让这两个类共用这些字符串?

只要让B类扩展a就行了

public class A extends JFrame {

}

public class B extends A {

}

但是TBH,我们都认为拥有公共领域是个糟糕的主意

我会这样做

class a
{
    private String aVal = "abc";

    public String returnAVal(){
         return aVal;
    }
}

class b extends a
{
    private String y = returnAVal();

    public void testY(){
        System.out.println(y);
    }
}
希望能有帮助


PhilNerd

为了单个变量检查而进行继承不是一个好主意


将其设置为私有,并提供setter和getter来访问它。

然后将其设置为受保护的,而不是公共的。