JAVA的教程中遇到的问题,有知道的麻烦进来解答下.谢谢!

class TestMain
{
static TestMain t = new TestMain(); 1.等号左边的TestMain 是可以随便取名的吗?
TestMain()
{}
public void show()
{
System.out.println("haha");
}
public static void main(String[] args)
{
new TestMain().t.show();
2.这条语句中new TestMain()调用了t,然而t不就是new TestMain吗?

}
}

1、TestMain肯定不能进行重命名,至于你那个t变量名称随你好了;
2、new TestMain().t.show();
这种调用肯定是执行了两次new TestMain;你可以在
TestMain() { System.out.println("创建"); }随便打印已经就能看出来;
这种写法的真正使用方式不是你写的这样,正确的使用方法是:
TestMain.t.show();追问

1,那个不能改啊,能再简单说下不能改的原因吗?谢谢了.
2, 执行了两次new TestMain啊,那就是说执行一次自己后,再执行一次自己?这不是重复了吗?

烦再回答下..谢谢了!

追答

1、 static TestMain t = new TestMain(); 中只有变量 t是你随便命名的,属于自定义变量
2、 执行了两次new TestMain本省就是一种重复,这种调用方法不可取,这种调用的本意是使用静态变量,静态变量可以直接调用,TestMain.t.show(); 这才是真正使用静态变量的方法,一般项目中会把这种写法放在工具类中,我觉得你可以去看一下静态类和静态方法这一方面的详解。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-09
1、左边的TestMain是一个类名,你也可以写其它类。
2、那个t是TestMain类中的一个field了,你要调用t,就必须写new TestMain().t来调用,如果在main函数里面写了TestMain() t = new TestMain()的话,就可以直接使用了,t.show()。
我个人觉得,学JAVA不能样学。看得出来,楼主应该没有学任何一门编程语言,我觉得你应该去培训机构学习。最起码,找视频看都要好得多,并且这种问题,不要问为什么,继续学下去,要不了多久你就会懂了的。这只是我的个人观点,有误请谅解。追问

恩.培训班已经报了.不过还没到开学时间..总之谢谢哈!

第2个回答  2011-10-09
1:这个名字不可以随便写
2:这个t不是上面的t,两者不一样追问

1,我说的=号左边那个TestMain,真的不能随便改名吗?
2,如果不一样,那你能不能给充分解释下啊.我不太懂啊.麻烦了!

第3个回答  2011-10-09
不可以
相似回答