这样一个代码:
class test
{
System.out.println();
}编译的时候会错,而如果用大括号把那条语句括起来,变成:class test
{
{
System.out.println();
}
}形成代码块,编译,就不出错。
这让我感到相当奇怪,请大家帮帮忙,告诉我,到底第一种写法,犯了什么语法错误——似乎在C++中,在类里直接写这样的语句没有错。这是俺的第一贴,看看这里好心人是不是传说中的很多 :)
class test
{
System.out.println();
}编译的时候会错,而如果用大括号把那条语句括起来,变成:class test
{
{
System.out.println();
}
}形成代码块,编译,就不出错。
这让我感到相当奇怪,请大家帮帮忙,告诉我,到底第一种写法,犯了什么语法错误——似乎在C++中,在类里直接写这样的语句没有错。这是俺的第一贴,看看这里好心人是不是传说中的很多 :)
一个空类中 不能突然出现一个 System.out.println();{
System.out.println();
}就相当一个方法了,不过这个方法的名称是的名称是空,一般会默认为构造方法
相当class test
{
test()
{
System.out.println();
}
}
如果把 System.out.println();
用大括号括起来,不是构造函数,而是,代码块。
我不太懂的是,为什么“一个空类中 不能突然出现一个 System.out.println();”?
有没有相关的语法说明啊?
我的QQ是:99134829
加我,我家在北戴河,要去玩,我可以招待你。我现在在北京。
希望,有机会想你多学点,你似乎是高手啊,哈哈
但是如果你不将它变成代码快,System.out是一个对象,而println是它的一个方法,他们只能在其他方法里被调用.其实一句话说明问题: JAVA规定这样不行,就是不行.
第二种写法正确,因为JAVA把它当场对象的初始化代码,也就是说在创建对象的时候被执行的代码,效果跟
class A{
List l=new ArrayList();
}
中的l=new ArrayList()是等同的。