java - 为什么 Netbeans "Initialization hint"说对 zapOperatorBooleans() 的调用是对构造函数的有问题的调用?

标签 java netbeans

如果我在“public GUI()”之前插入以下内容,警告就会消失,但这是怎么回事?

  @SuppressWarnings("OverridableMethodCallInConstructor")

我到底应该做什么?为什么?

public class GUI extends javax.swing.JFrame {

  boolean plusActive;
  boolean minusActive;
  boolean timesActive;
  boolean divActive;
  boolean toTheActive;

  public GUI() {
    initComponents();
    zapOperatorBooleans();
  }

  public void zapOperatorBooleans(){
    plusActive = false;
    minusActive = false;
    timesActive = false;
    divActive = false;
    toTheActive = false;
  }
  ...

我刚刚读到(在“工具”>“选项”>“提示”中)“在构造函数中调用可重写的方法可能很危险,因为在调用重写方法时,对象尚未完全初始化”,但这并不能帮助我决定应该做什么。

最佳答案

zapOperatorBooleans 声明为 finalprivate。至于为什么,参见http://www.javapractices.com/topic/TopicAction.do?Id=215

关于java - 为什么 Netbeans "Initialization hint"说对 zapOperatorBooleans() 的调用是对构造函数的有问题的调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19554602/

相关文章:

java - 在方法 average() 中操作方法 sum()

java - 如何使用netbean创建 "help/information bubble"

mysql - 尝试从 NetBeans 中的 jsp 连接到 MySQL 时访问被拒绝

java - Java 中的 Try/Catch 异常问题

java - Gradle用于不同Java版本的代码

java - 嵌套 for 循环 - 处理 (java)

java - 与 MySQL 和 Netbeans 作斗争

java - Netbeans 8.2 构建成功但没有输出

java - 如何获取完整的调用图以用于文档目的?

java - 通过用单例替换匿名类来减少内存占用。但是更需要重构设计