【问题标题】:Public Getter is not accessible in other class - JavaPublic Getter 在其他类中不可访问 - Java
【发布时间】:2018-05-17 14:45:13
【问题描述】:

我创建了一个扩展 JButton 的类,我将它传递给另一个类构造函数。但是,当我尝试访问按钮的“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()){
             /**/
          }
      /**/
      }
    }
}

【问题讨论】:

  • 可能是因为submitBtnprivaet 而不是private
  • @Codeer 甚至无法编译,所以我猜这只是创建示例时的拼写错误
  • submitBtnJButton,而不是 ButtonSubmit
  • 这只是一个错字对不起...
  • @Codeer 是的,对不起,我的意思是它不会显示 OP 抱怨的错误

标签: java


【解决方案1】:

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

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

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

【讨论】:

  • @LioxaZAICHIK 所以你应该投票接受答案
  • 至少答案还没有被接受。但不要着急。
猜你喜欢
  • 2020-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-22
相关资源
最近更新 更多