代码块的总结

class Mid extends Root{
    static {
        System.out.println("Mid的静态初始化块");
    }
    {
        System.out.println("Mid的普通初始化块");
    }
    public Mid() {
        super();
        System.out.println("Mid的无参构造器");
    }
    public Mid(String info) {
        this();
        System.out.println("Mid的带参构造器,其参数为:" + info);
    }
}
class Root{
    static {
        System.out.println("Root的静态初始化块");
    }
    {
        System.out.println("Root的普通初始化块");
    }
    public Root() {
        System.out.println("Root的无参构造器");
    }
}

class Leaf extends Mid{
    static {
        System.out.println("Leaf的静态初始化块");
    }
    {
        System.out.println("Leaf的普通初始化块");
    }
    public Leaf() {
        super("非常6+1");
        System.out.println("Leaf的无参构造器");
    }
    
}

public class LeafTest {
    public static void main(String[] args) {
        new Leaf();
    }
}

运行结果为:

总结:代码块的编译优先于构造器

并且同为静态初始化块时,从根类向下进行。

在代码块中对属性赋值:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

匿名子类对象

匿名对象的意义:一般只使用一次,图方便,不需要重新写一个类。 匿名类通常都是的形式结构通常都是: abstract class A ... 创建匿名类: A a1 new A(){ 重写所有抽象类的方法 } package AbstractTest2; public cla…

写出gradle风格的groovy代码

写出gradle风格的groovy代码 我们先来看一段gradle中的代码: buildscript {repositories {jcenter()}dependencies {classpath com.android.tools.build:gradle:2.1.2} }allprojects {repositories {jcenter()} }task clean(type: Delete) {delete rootProject.buil…

JAVA8后接口的新特性

知识点一: 知识点二: 知识点三: 知识点四: 知识点五:

input的type属性的修改

记录一下成长的历程吧! 刚开始写,没什么文笔,也没什么技术含量,可能主要的是纪录一下平常工作学习中遇到的问题,以及解决的办法吧。或者只有问题,没有解决办法。 前两天项目中遇到的一个问题,由…

程序 进程 线程

并行:再球场上,每个人都有篮球,都自己玩自己的 并发:只有一个球,一堆人玩 球(CPU) 人(线程) t1这个线程对象,是再主线程造的,以及执行t1.start…

ActiveMQ入门实例

1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/ 2.运行ActiveMQ 解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。 启动ActiveMQ以后,登陆:http://localhost…