public class A{
//类中,方法体和静态代码块外,仅能声明成员变量(实例变量,静态变量)
//实例变量(存放在堆中)
private int i;
Solution solution = new Solution();
//静态变量(存放在方法区中)
public static int j = 5;
static{
//静态代码块,可以写java语句
System.out.print("静态代码块");
}
{
//代码块,可以写java语句
System.out.print("代码块");
}
public static void main(String[] args) {
//main方法,可以写java语句,声明局部变量(局部变量存放位置在栈中)
System.out.print("main方法");
}
public void add(int i,int j){
//实例方法,可以写java语句,声明局部变量(局部变量存放位置在栈中)
System.out.print("实例方法");
}
}
- java语句只能出现在一个类的方法、静态代码块和代码块中
- 成员变量在类体中,方法体与静态代码块、代码块之外
- 成员变量中的静态变量存在方法区,实例变量存在堆中
- 局部变量在静态代码块与方法中被声明,存储在栈中
- 静态代码块在类加载时执行,并且只执行一次
- 静态代码块当中的代码在main方法执行之前执行