package com.interview.demo;
public class test1 {
//静态代码块在类第一次被调用或者被实例化的时候执行
static{
int x =5;
System.out.print("aaaa");
}
static int x,y;
public static void main(String[] args)
{
x--;
myMethod();
System.out.println(x+"::"+y);
System.out.println(x+y+ ++x);//输出3
}
public static void myMethod(){
y = x++ + ++x;
}
}
**************************************************
package com.interview.demo;
public class test1 {
public static void main(String args[]){
new B(3);
//A static
//B static
//A without can Method
//B with can Method
//1.先加载父类在加载子类(执行了static块)
//2.先执行父类的无参构造方法,在执行子类的相应构造方法;
}
}
class A{
int r =1;
static{
System.out.println("A static");
}
A(){
System.out.println("A without can Method");
}
A(int r){
this.r = r;
System.out.println("A with can Method");
}
}
class B extends A{
int a = 1;
static{
System.out.println("B static");
}
B(){
System.out.println("B without can Method");
}
B(int a){
this.a = a;
System.out.println("B with can Method");
}
}