Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GUI-JFrame:声明变量_Java_Swing_Jframe_Variable Declaration_Variable Initialization - Fatal编程技术网

Java GUI-JFrame:声明变量

Java GUI-JFrame:声明变量,java,swing,jframe,variable-declaration,variable-initialization,Java,Swing,Jframe,Variable Declaration,Variable Initialization,在以下代码中,我创建了3个变量: public class tuna extends JFrame { //Creating 3 text fields private JTextField item1; private JTextField item2; private JTextField item3; 我不明白的是为什么我需要做以下事情: item1=new JTextField(10); add(item1); 为什么需要再次将ite

在以下代码中,我创建了3个变量:

public class tuna extends JFrame {

    //Creating 3 text fields
    private JTextField item1;
    private JTextField item2;
    private JTextField item3;
我不明白的是为什么我需要做以下事情:

item1=new JTextField(10);
        add(item1);
为什么需要再次将item1声明为jtextfield?
这仅仅是为了创建它的大小和文本等吗?

您不会再次声明它。您正在用第二位代码初始化它,差别很大

这与任何其他参考变量没有区别。i、 e

public class MyFoo {
    private String fooString;  // (A)

    public MyFoo() {
      fooString = "hello world";  // (B)
    }
您还可以在同一行上声明并初始化它

public class MyFoo {
    private String fooString = "hello world";
    private JTextField textField = new JTextField(10);

    public MyFoo() {
      // now can use both variables
    }
因此,代码中的第一条语句(上面我的字符串示例中的语句(A))创建了JTextField类型的变量,但创建时,它们会自动填充默认值,这对于引用变量(除int、double、floats等基元之外的所有变量)是
null
。因此,您有引用null或nothing的变量,在使用它们之前,您必须为它们分配一个有效的引用或对象,这就是您的第二位代码所做的(上面我的字符串示例中的语句(B))


您将希望运行,而不是走到最近的Java教程或教科书的简介,阅读变量声明和初始化,因为在尝试创建Swing GUI或任何Java程序之前,您确实需要理解这个非常核心的基本概念。就这么重要

你不会再次声明它。您正在用第二位代码初始化它,差别很大

这与任何其他参考变量没有区别。i、 e

public class MyFoo {
    private String fooString;  // (A)

    public MyFoo() {
      fooString = "hello world";  // (B)
    }
您还可以在同一行上声明并初始化它

public class MyFoo {
    private String fooString = "hello world";
    private JTextField textField = new JTextField(10);

    public MyFoo() {
      // now can use both variables
    }
因此,代码中的第一条语句(上面我的字符串示例中的语句(A))创建了JTextField类型的变量,但创建时,它们会自动填充默认值,这对于引用变量(除int、double、floats等基元之外的所有变量)是
null
。因此,您有引用null或nothing的变量,在使用它们之前,您必须为它们分配一个有效的引用或对象,这就是您的第二位代码所做的(上面我的字符串示例中的语句(B))


您将希望运行,而不是走到最近的Java教程或教科书的简介,阅读变量声明和初始化,因为在尝试创建Swing GUI或任何Java程序之前,您确实需要理解这个非常核心的基本概念。就这么重要

声明和初始化是两件不同的事情。您可以像这样一次声明和初始化它们:

private JTextField item1 = new JTextField(10);
private JTextField item2 = new JTextField(10);
private JTextField item3 = new JTextField(10);
add(item1);
add(item2);
add(item3);

声明和初始化是两件不同的事情。您可以像这样一次声明和初始化它们:

private JTextField item1 = new JTextField(10);
private JTextField item2 = new JTextField(10);
private JTextField item3 = new JTextField(10);
add(item1);
add(item2);
add(item3);

在Java中,在一般编程中,肯定有“引用”和对象

创建对象时,通常会创建对该对象的引用。以后可以使用引用访问该对象

obj
是对您创建的新对象的类型为
Object
的引用

您不能简单地编写
objectobj,因为这将只是声明一个引用。您必须将对象“附加”到该引用,然后才能使用它,因为它指向某个地方


希望这能帮助您在Java中,并且在一般编程中,有“引用”和对象

创建对象时,通常会创建对该对象的引用。以后可以使用引用访问该对象

obj
是对您创建的新对象的类型为
Object
的引用

您不能简单地编写
objectobj,因为这将只是声明一个引用。您必须将对象“附加”到该引用,然后才能使用它,因为它指向某个地方

希望这对你有帮助