“这个。”代码空白输出,主要功能

时间:2013-12-03 11:03:45

标签: java function this

为什么这段代码不能产生它应该的输出?它应该返回:

1

42

MyThisTest a = 42

代码输出为空白。每当我为'public static void main(String [] args)设置花括号时,会弹出很多红线错误。任何人都知道如何工作...

public class MyThisTest {
public static void main(String[] args){}
private int a;

public MyThisTest() {
this(42); // calls the other constructor
}

public MyThisTest(int a) {
this.a = a; // assigns the value of the parameter a to the field of the same name
}

public void frobnicate() {
int a = 1;

System.out.println(a); // refers to the local variable a
System.out.println(this.a); // refers to the field a
System.out.println(this); // refers to this entire object
}

public String toString() {
return "MyThisTest a=" + a; // refers to the field a
}
}

3 个答案:

答案 0 :(得分:1)

你的主要功能是错误的。它应该创建MyThisTest并在其上调用frobnicate()

这样的东西
public static void main(String[] args)
{
   MyThisTest myThisTest;
   myThisTest.frobnicate();
}

答案 1 :(得分:0)

您错过了主要功能中的任何操作:

public static void main(String[] args){}

应该是:

public static void main(String[] args)
{
    MyThisTest thisTest = new MyThisTest();

    thisTest.frobnicate();
}

主要功能是启动程序时调用的功能。 如果你不在那里做任何事情,什么都不会发生。因此,原始代码中的输出保持空白。

答案 2 :(得分:0)

主要方法是java程序的起点,需要在那里初始化对象。在初始化对象之前,无法调用已定义的构造函数。方法frobnicate也是对象级方法,它只能在实例上调用。你应该在main方法中做所有这些(正如其他人已经解释过的)