在Java程序的同一类中调用setter/getter

在Java程序的同一类中调用setter/getter,java,Java,我正在努力使用java文件中编写的setter/getter。基本上,它应该如何工作是setPassword()setter应该测试密码是否包含数字和字母,并且至少有8个字符长 我的代码中接收错误的部分如下所示: public boolean setPassword(String password1){ int temp = password1.length(); boolean length = false; boolean number = password1.has

我正在努力使用java文件中编写的setter/getter。基本上,它应该如何工作是
setPassword()
setter应该测试密码是否包含数字和字母,并且至少有8个字符长

我的代码中接收错误的部分如下所示:

public boolean setPassword(String password1){
    int temp = password1.length();
    boolean length = false;
    boolean number = password1.hasAlphabet(); //hasAlphabet is undefined for type String
    boolean letter = password1.hasNumber(); //hasNumber is undefined for type String
    if(temp >= 8){
        if(number){
        if(letter){
        password = password1;
}
}   

    }
    else return false;
}
private boolean hasAlphabet(String password1){ //hasAlphabet is never used locally
      if(password1.matches("%[a-zA-Z]%")){
      return true;
      }
      else return false;
}
private boolean hasNumber(String password1){//hasNumber is never used locally
    if(password1.matches(".*\\d.*")){
          return true;
    }

我的一些变量是在代码前面定义的,因此这些变量没有错误。我将错误放在有错误的行的注释中。

您在字符串实例上调用方法,
password1.hasAlphabet()
,这是错误的语法。Java的
String
类必须定义
hasAlphabet()
方法才能工作

您应该将字符串作为参数传递给方法

boolean letter = hasAlphabet(password1);
您必须传递字符串,而不是从字符串对象调用方法。String类没有方法
hasAlphabet
hasNumber
hasAlphabet(password1)