这代码是如何运行的?

 class A {

  String x;

  {

  System.out.println("---A的非静态语句块---");

  }

  static{

  System.out.println("---A的静态语句块---");

  }

  public void print(){

  System.out.println("---A中不带参数的print方法---");

  }

  public void print(String x){

  System.out.println("---A中带参数的print方法,参数值未xx---");

  }

  public A(){

  String x="软件工程";

  System.out.println("---A中的无参构造方法---");

  }

}

class B extends A{

int x;

public void print(int x){

System.out.println("---B带参数的方法-- 参数值zzz");

}

static{

System.out.println("---B的静态语句块---");

}

{

System.out.println("---B中的非静态语句块---");

}

}

public class java{

public void main(String args[]){

B a=new B();

a.print();

}

}



strange丶
浏览 1192回答 1
1回答

_夕晨踏雪

一般而言,执行顺序为父类静态代码块-->子类静态代码块-->父类非静态代码块-->父类构造方法-->子类非静态代码块-->子类构造方法
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java