java类里的初始化块
class Person{
{
int a = 8;
if ( a > 7){
System.out.println("a大于 7");
}
System.out.println("a小于7");
}
{
System.out.println("a的初始化块");
}
}
public class PersonTest{
public static void main(String[] args) {
Person p1 = new Person();
}
}
后面为什么还会“输出a小于7”呢?if语句后面不是隐藏else语句嘛(还是我理解错啦)?虽然初始化块一定要执行。求指导呀,大侠们。
------解决方案--------------------“if语句后面不是隐藏else语句”,哪个老师哪本书告诉你的?
------解决方案--------------------System.out.println("a小于7");
这一行跟你的if块没有半毛钱关系,除非你写到else块里。
------解决方案--------------------你理解错了
------解决方案--------------------if ( a > 7)
System.out.println("a大于 7");
else
System.out.println("a小于7");
------解决方案--------------------
------解决方案--------------------if与else像兄弟一样,是不能分离的 你理解错了