public class drum {
public static void main(String []args){
boolean topHat = true;
boolean snare = true;
void playTophat(){
System.out.println("ding ding da-ding");
}
void playSnare(){
System.out.println("bang bang ba-bang");
}
下面代码省略了
}
为什么上面这种写法是错误的???最好能将以下原理,我是初学者。main里面可以写什么?不能写什么?但是下面这种写法是对的?
public class drum {
public static void main(String []args){ 这中间写循环、if语句等等
。。 }
}
public static void main(String []args){
boolean topHat = true;
boolean snare = true;
void playTophat(){
System.out.println("ding ding da-ding");
}
void playSnare(){
System.out.println("bang bang ba-bang");
}
下面代码省略了
}
为什么上面这种写法是错误的???最好能将以下原理,我是初学者。main里面可以写什么?不能写什么?但是下面这种写法是对的?
public class drum {
public static void main(String []args){ 这中间写循环、if语句等等
。。 }
}
例如在JavaScript中就可以在方法中定义方法,只是Java中规定不可以,记住就可以了。
把时间精力去学其它新知识,以后回过头来看待这个问题你会有重新的见解的。
public static void main(String []args){
boolean topHat = true;
boolean snare = true;
playTophat();
playSnare();
}statc void playTophat(){
System.out.println("ding ding da-ding");
}
statc void playSnare(){
System.out.println("bang bang ba-bang");
}
main()本身也是一个方法
所以不能在在main()里面定义方法
2.类的描述定义在方法区,对象存储在堆区,每一个对象都有唯一一个对类型信息的引用。jvm遇到一个方法就会根据临时变量引用去找堆区对应对象,根据该对象到方法区找到该方法,将该方法压栈。执行完毕后弹栈。如果方法里套方法,遇到子方法,会再压栈,但无法找到对应对象了。