***实例变量:***只有new对象时才会赋值,如果构造方法没有赋值,则赋系统默认值,储存在堆内存中;
***静态变量:***当类加载进jvm时就赋值,如果没有手动赋值,则赋系统默认值,并同时储存在方法区中与class文件关联;
***实例方法:***只有先new对象,通过对象才能调用执行;
***静态方法:***当类加载进jvm时就执行;
**实例代码块:**只有在new对象时才执行,在构造方法前执行。
**静态代码块:**类加载进jvm同时执行。
public class Test
{
//实例代码块
{
System.out.println("实例代码块执行");
}
//静态代码块
static{
System.out.println("静态代码块执行");
}
public static void main(String[] args){
new Test();
}
}
控制台输出结果:
静待代码块执行
实例代码块执行
**注意:**静态代码块按静态代码块执行顺序执行。实例代码块按实例代码块的顺序执行。