公共Getter在其他类中是不可访问的 - Java

时间:2018-05-17 14:45:13

标签: java

我创建了一个扩展JButton的类,我传递给另一个类构造函数。但是,当我尝试访问button的'getSubmitted()'方法时,它会弹出一条错误消息,指出'无法解析方法getSubmitter()'... 我无法理解为什么会发生这种情况,因为方法和类都是公共的,而Button被分配给变量...

public class ButtonSubmit extends JButton{
   private boolean submitted;
/*
...
*/
public boolean getSubmitted(){
   return this.submitted;
}

public class ServerConnector{
   privaet JButton submitBtn; 
   public ServerConnector(JButton submitBtn){
      this.submitBtn = submitBtn;
   }
   /*..*/
   public void start(){
      while(true){
         if(this.submitBtn.getSubmitted()){
             /**/
          }
      /**/
      }
    }
}

1 个答案:

答案 0 :(得分:2)

您需要在构造函数和字段中使用类型ButtonSubmit

public class ServerConnector{
   private ButtonSubmit submitBtn; 
   public ServerConnector(ButtonSubmit submitBtn){
      this.submitBtn = submitBtn;
   }
   /*..*/
   public void start(){
      while(true){
         if(submitBtn.getSubmitted()){
             /**/
          }
      /**/
      }
    }
}

您正在尝试访问没有所需方法的类型(JButton)的成员。所以你需要实际拥有这种方法的类型ButtonSubmit