我在超类中创建了一个布尔方法,但是当我在子类中调用该方法以使用它时,它给了我一个类型不匹配的错误,表明它无法将布尔值转换为A。我可能丢失了一些东西次要的,但是还有另一种方法可以在继承的类中使用该方法?
public class A{
public boolean Proper(String expression){
//body of method that determines if an expression is proper
return true;
}
}
public class B extends A {
static BalancedExpressions Proper = new BalancedExpressions();
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("src/Expressions.txt"));
FileWriter output = new FileWriter(new File("Output.txt"));
while (scanner.hasNextLine()) {
String nextLine = scanner.nextLine();
output.write(nextLine + "\t");
//following line is giving the error
if(Proper = true) {
output.write("proper" + "\n");
} else {
output.write("improper" + "\n");
}
scanner.close();
output.close();
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
}//end main
}
你必须写Proper("some string"),不是Proper。如果用括号编写它,那是一个函数调用。如果您不编写它,那么它就是您的BalancedExpressions变量。另外,您需要使用双等号==。您当前使用的行尝试将true分配给Proper成员变量。另外,您无需编写if (something == true),只需执行if (something)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。