未使用的局部变量[JAVA]

时间:2014-02-05 13:31:26

标签: java eclipse variables local

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class MyCalculatorGUI extends JFrame implements ActionListener { 
    JButton tripled, doubled; 
    JTextField input, output; 
    JPanel p1, p2;

MyCalculatorGUI() { 

        Container c = getContentPane(); 
        tripled = new JButton("Triple"); 
        tripled.addActionListener(this);
        doubled = new JButton("Doubled");
        doubled.addActionListener(this);
        input = new JTextField("Input a number here.");
        output = new JTextField("Result..");
        p1.add(doubled);
        p1.add(tripled);
        p2.add(input);
        p2.add(output);

        c.add(p1);
        c.add(p2);

        setVisible(true);
        setSize(400,400);


    }

    public void actionListener(ActionEvent e) { 

    }

    public static void main(String[] args) {
         MyCalculatorGUI output = new MyCalculatorGUI();
    }

    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub

    }

}

Eclipse我的代码出现问题,它是MyCalculatorGUI,它说没有使用局部变量。有人可以帮我解决这个问题吗?我最近刚搬到Eclipse,我试图解决的一切都不适合我。

5 个答案:

答案 0 :(得分:1)

我认为您已创建了一个对象,而不是在main方法

中的任何位置使用它
MyCalculatorGUI output = new MyCalculatorGUI();

答案 1 :(得分:1)

这只是Eclipse的警告。它无法看到您的实际逻辑发生在构造函数中 - 因此它认为您在main方法中创建了类MyCalculatorGUI的新对象,但从不使用它。这可能是不必要的内存使用/消耗的标志,这可能是大型项目中的一个问题...

如果您将该行更改为new MyCalculatorGUI();,则警告将消失。

答案 2 :(得分:0)

这不是错误,只是警告

它只是意味着您已经创建了一个从未在代码中访问过的变量。如果您不需要它,请不要创建它。如果你这样做,那就使用它;)

MyCalculatorGUI output = new MyCalculatorGUI(); //either delete this line
output.someMethod(); //or use the instance in some way

之后警告应该消失。

答案 3 :(得分:0)

您不使用在main方法中创建的变量,因此要么不创建,使用它,要么在main方法上方添加以下内容:@SuppressWarnings("unused") < / p>

答案 4 :(得分:0)

这不是问题,它只是一个Eclipse信息,通知您未使用本地变量。你可以编译0问题!

要解决警告,您有两种解决方案:

首先:

实施变量:

MyCalculatorGUI myCalculator = new MyCalculatorGUI();

第二

使用功能顶部的SupressWarnings:

 @SuppressWarnings("unused")
 MyCalculatorGUI() { 

        Container c = getContentPane(); 
        tripled = new JButton("Triple"); 
        tripled.addActionListener(this);
        doubled = new JButton("Doubled");
        doubled.addActionListener(this);
        input = new JTextField("Input a number here.");
        output = new JTextField("Result..");
        p1.add(doubled);
        p1.add(tripled);
        p2.add(input);
        p2.add(output);

        c.add(p1);
        c.add(p2);

        setVisible(true);
        setSize(400,400);
    }