- package com.javatest;
- class A
- {
- static {//static 是类首次加载时调用该方法,然后第二次就不调用该方法了
- System.out.print("1");
- }
- public A()//构造方法不能被子类继承
- {
- System.out.print("2");
- }
- }
- class B extends A
- {
- static
- {
- System.out.print("a");
- }
- public B()
- {
- System.out.print("b");
- }
- }
- public class Hello {
- public static void main(String[] args)
- {
- A ab=new A();//调用的时候,都先加载,然后再调用构造方法,把所有的子类,或父类加载完成之后再调用你类或子类的构造方法
- ab=new B();//
- }
- }
输出结果为:12a2b