定义类 Root、 类 Mid(继承类 Root)、 类 Leaf(继承类 Mid); 所有类都带有静态初始化块与普 通初始化块; (2) 3 个类都有无参构造方法, Mid 类还有带参的构造方法。 (3) 编写测试类生成 Leaf 类实例。
时间: 2024-03-29 16:15:46 浏览: 37
可以回答这个问题。
下面是代码:
```
class Root {
static {
System.out.println("Root static initialization block");
}
{
System.out.println("Root normal initialization block");
}
public Root() {
System.out.println("Root no-arg constructor");
}
}
class Mid extends Root {
static {
System.out.println("Mid static initialization block");
}
{
System.out.println("Mid normal initialization block");
}
public Mid() {
System.out.println("Mid no-arg constructor");
}
public Mid(String arg) {
System.out.println("Mid arg constructor: " + arg);
}
}
class Leaf extends Mid {
static {
System.out.println("Leaf static initialization block");
}
{
System.out.println("Leaf normal initialization block");
}
public Leaf() {
System.out.println("Leaf no-arg constructor");
}
}
public class Test {
public static void main(String[] args) {
Leaf leaf = new Leaf();
}
}
```
输出结果为:
```
Root static initialization block
Mid static initialization block
Leaf static initialization block
Root normal initialization block
Root no-arg constructor
Mid normal initialization block
Mid no-arg constructor
Leaf normal initialization block
Leaf no-arg constructor
```
说明静态初始化块、普通初始化块、构造方法都按照规定顺序执行了。