class First{
public First(){
out();
}
public void out(){
System.out.println("in first class !");
}
}
public class ClassExtends extends First { //子类若不声明构造方法 默认调用父类的构造方法, out方法被重写
/* public ClassExtends(){ //若声明 子类 父类 构造方法都执行 实例化子类 时会先实例化父类
out();
}*/
public void out(){
System.out.println("in second class !");
}
public static void main(String[] args){
new ClassExtends();
}
}
结果: in second class !
class A{
static{
System.out.println("this is a static");
}
public A(){
System.out.println("this is a construct");
}
int a=0;
public void v(){
// static int cb =0;
};
}
class B extends A{
static{
System.out.println("this is b static");
}
public B(){
System.out.println("this is b construct");
}
}
public class ClassEx {
public static void main(String[] args){
A a =new B();
A ab = new B();
}
}
结果:
this is a staticthis is b static
this is a construct
this is b construct
this is a construct
this is b construct