从另一个类访问私有变量的正确方法是使用getter和setter方法。否则,您应该将该变量公开。
那是:
// getterpublic JLabel getMainLabel() { return mainlabel;}// setterpublic void setMainLabel(JLabel mainLabel) { this.mainlabel = mainLabel;}但是,直接返回私有数据是一种不好的做法-
允许外部代码修改您的私有状态。通常,您应该返回私有数据的副本,以使外部代码不会干扰类的内部。但是,如果您需要外部代码来调用私有数据上的方法,那么您可能应该在类中提供操作方法,而不是直接公开私有数据。
您可能 真的
想在主类中创建像
setText()和方法
getText(),然后在上调用
setText()和
getText()方法
mainlabel。但是,您需要注意这一点,因为您可能倾向于复制
JLabel类中定义的每个方法。这将使您的类及其使用者与
JLabel实现紧密结合。如果您
JLabel将来选择用其他产品代替,则需要花费大量工作才能平开已创建的联轴器。



