当前位置: 技术问答>java相关
请问这段初始化代码为什么出错??谢谢
来源: 互联网 发布时间:2015-08-17
本文导语: 我想跟踪下在构造前的变量初始化; import java.util.*; class Tree{ int height=99; //System.out.println ("before"); 有这句,就报语法错误。 Tree() { System.out.println("Planting a seedling"); height...
我想跟踪下在构造前的变量初始化;
import java.util.*;
class Tree{
int height=99;
//System.out.println ("before"); 有这句,就报语法错误。
Tree() {
System.out.println("Planting a seedling");
height=0;
}
void info(){
System.out.println("Tree is"+height+"tall" );
}
void info(String s){
System.out.println(s+"Tree is"+height+"tall" );
}
}
当没有System.out.println ("before"); 时,程序可以运行调试,是不是说,在这里不能有输出么??那么在class构造前允许有那些动作呢??
import java.util.*;
class Tree{
int height=99;
//System.out.println ("before"); 有这句,就报语法错误。
Tree() {
System.out.println("Planting a seedling");
height=0;
}
void info(){
System.out.println("Tree is"+height+"tall" );
}
void info(String s){
System.out.println(s+"Tree is"+height+"tall" );
}
}
当没有System.out.println ("before"); 时,程序可以运行调试,是不是说,在这里不能有输出么??那么在class构造前允许有那些动作呢??
|
语句不能直接写在方法外部,要这样:
static {
System.out.println ("before");
}
static {
System.out.println ("before");
}