开发者社区> 问答> 正文

布尔值不继承

我在超类中创建了一个布尔方法,但是当我在子类中调用该方法以使用它时,它给了我一个类型不匹配的错误,表明它无法将布尔值转换为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

    }

展开
收起
垚tutu 2019-12-04 16:55:36 799 0
1 条回答
写回答
取消 提交回答
  • #include

    你必须写Proper("some string"),不是Proper。如果用括号编写它,那是一个函数调用。如果您不编写它,那么它就是您的BalancedExpressions变量。另外,您需要使用双等号==。您当前使用的行尝试将true分配给Proper成员变量。另外,您无需编写if (something == true),只需执行if (something)

    2019-12-04 16:55:45
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载