/*
* Java类实例化的初始化过程.,如果该类有父类,就先加载父类的。
* 执行顺序:
* // 先加载静态成员--》静态方法--》静态代码块----》main方法 --》成员变量--》成员方法--》构造代码块---》构造方法
*/
public class Demo extends FuDemo
{
private static int i = 1;
public static String sStr = "静态变量";
public String iStr = "实例变量";
public Demo(){
System.out.println("构造方法");
}
public static void main(String[] args){
System.out.println("main");
System.out.println("---111---");
Demo d;
System.out.println("---222---");
//new Demo();
}
{
// 实例初始化块
System.out.println("进入实例初始化块");
System.out.println("实例初始化块中调用变量:" + iStr);
System.out.print("实例初始化块中调用方法:");
iTalk();
}
static{
// 静态初始化块
System.out.println("进入静态初始化块"); // 111111
System.out.println("静态初始化块中调用变量:" + sStr);
System.out.println("静态初始化块中调用方法:");
sTalk();
}
public static void sTalk(){
// 静态方法在加载静态成员后执行
System.out.println(sStr);
System.out.println("静态方法" + "/静态变量值" + (++i));
}
public void iTalk(){
// 实例方法
System.out.println("实例方法");
}
}
class Test{
private static String pstr = "私有化";
public static String sStr = "静态变量";
public String iStr = "成员变量";
}
|
|