有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Eclipse,无法解析

这是一本关于应用程序开发的教科书

import java.awt.TextField;

public class ESA
{
    public void init()
    {
        TextField abc = new TextField();
    }
    public void doSomething()
    {
        abc.setText("Hello World");
    }
}

问题是:代码中有一个错误,应该有办法用Eclipse解决它。教科书中没有给出解决方案

在我看来,问题在于“abc.setText” Eclipse有6个快速修复方法,但都不起作用

有人知道怎么解决吗


共 (2) 个答案

  1. # 1 楼答案

    TextField变量abc在方法doSomething的范围内不可用,因为它是在init中本地定义的。它可以声明为类成员变量,也可以传递给方法。你可以加上

    private TextField abc;
    

    替换

    TextField abc = new TextField();
    

    abc = new TextField();
    

    Understanding Instance and Class Members

  2. # 2 楼答案

    import java.awt.TextField;
    
    public class ESA
    {
        private TextField abc;
        public void init()
        {
           abc = new TextField();
        }
        public void doSomething()
        {
            abc.setText("Hello World");
        }
    }
    

    这应该行得通abc在代码的doSomething()中不可访问