首页 > 其他分享 >2023/09/26 动手动脑

2023/09/26 动手动脑

时间:2023-09-26 22:35:00浏览次数:40  
标签:初始化 26 Leaf 09 System Mid 2023 println out

Java的类在构造时会提供一个无参的构造方法,如果已存在用户已经自定义的构造方法,则原有的无参构造方法将无法调用,只能调用自己定义的构造方法。

静态初始化的执行顺序:

class Root
{
    static
    {
        System.out.println("Root的静态初始化块");
    }
    {
        System.out.println("Root的普通初始化块");
    }
    public Root()
    {
        System.out.println("Root的无参数的构造器");
    }
}
class Mid extends Root
{
    static
    {
        System.out.println("Mid的静态初始化块");
    }
    {
        System.out.println("Mid的普通初始化块");
    }
    public Mid()
    {
        System.out.println("Mid的无参数的构造器");
    }
    public Mid(String msg)
    {
        //通过this调用同一类中重载的构造器
        this();
        System.out.println("Mid的带参数构造器,其参数值:" + msg);
    }
}
class Leaf extends Mid
{
    static
    {
        System.out.println("Leaf的静态初始化块");
    }
    {
        System.out.println("Leaf的普通初始化块");
    }    
    public Leaf()
    {
        //通过super调用父类中有一个字符串参数的构造器
        super("Java初始化顺序演示");
        System.out.println("执行Leaf的构造器");
    }

}

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

    }
}

运行结果:

Root的静态初始化块

Mid的静态初始化块

Leaf的静态初始化块

Root的普通初始化块

Root的无参数的构造器

Mid的普通初始化块

Mid的无参数的构造器

Mid的带参数构造器,其参数值:Java初始化顺序演示

Leaf的普通初始化块

执行Leaf的构造器

 可以看出在静态初始化块是先于其他构造块的进行的,在声明类时静态初始化块就已经在内存中,所以在构造时最先调用

标签:初始化,26,Leaf,09,System,Mid,2023,println,out
From: https://www.cnblogs.com/zhenaifen/p/17731423.html

相关文章

  • 大二打卡(9.26)
    今天做了什么,:今天的开局,数据结构,听懂了,主要是跟前面的课的知识点都差不太多,前面的理解了,今天的理解难度就不太大,然后是马克思主义原理,今天的马克思主义原理课格外的好玩,可能是老师今天的内容能让我们发挥脑洞的地方比较多,还叫了好几个同学,包括我,不过我是因为被自己的脑洞笑到了,然......
  • 9.26
    今天做了什么:今天上午上的数据结构和马克思主义原理,数据结构讲了点队列,关于队列知道了一点大概的运行思路,然后就是对于最基础的队列的时间复杂度如何优化,可以通过指针的方式将原本的时间复杂度O(n)(由于出队列使得后面的元素递进一位)变成O(1)只要通过指针将下次的输出直接......
  • 2023年9月26日每日随笔
    今天,学习了一个新的数据库,mongoDB,并在其shell界面进行增删改查,学习了c#的一些语法,也出现了一些的问题,同时,对于设计模式也没有落下,学习了外观模式:外观模式有两种角色:外观类和子类,外观类:定义子类对象,集成处理子类方法以实现一系列操作子类:每一个具体的类主要就是简化操......
  • 2023/9/27 讲课用
    杂谈表达式首先来明确一些概念值(value)即为一个静态的数据。值可以是整数,浮点数,字符,字符串等变量(variable)可以形象地理解为,存储值得容器。变量有诸多类型,一般而言,变量只能存储对应类型的值。inta=0;“我向系统声明:我需要一小块内存,来存储一个整数变量,变量的值为\(0......
  • 【Android面试】2023最新面试专题二:ArrayList篇
    1.4 请说一说ArrayList如何保证线程安全,除了加关键字的方式?这道题想考察什么?1、ArrayList的底层原理?考察的知识点ArrayList底层的源码的理解考生如何回答ArrayList如何保证线程安全继承Arraylist,然后重写或按需求编写自己的方法,这些方法要写成synchronized,在这些synchronized的......
  • 2023年最新京东app端sign签名算法与cipher加解密逆向分析(2023-09-26)
    前言:  本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,若有侵权请联系我删除!技术交流合作请私信!一.工具的选择(抓包工具的选择,是门学问)用到工具如下:1、安卓手机一台,系统版本:android6.01;型号:小米MI4LTE  之所以要选择android6手机,原理如下:  ......
  • P6411 [COCI2008-2009#3] MATRICA 题解
    水题。发现根据限制\(M_{i,j}=M_{j,i}\)可以知道除了主对角线上的点,其他的点都是成对出现的。也就是说如果有一条要求的\(a_i\)为奇数,那么至少有一个\(c_i\)在主对角线上。记\(S=\sum\limits_{i=1}^{k}(a_i\equiv1\pmod2)\),即有\(S\)个要求中\(a_i\)为奇数。主对......
  • 每日总结9.26
    今天上午我先上了一节算法与数据结构的课程。这门课程主要讲解了各种算法和数据结构的基本原理和应用。我们学习了不同的排序算法,如冒泡排序、插入排序和快速排序等,以及栈、队列和链表等数据结构。老师通过生动的例子和实际的应用场景,让我们更好地理解和掌握这些概念。这门课程对......
  • kubernetes集群搭建2023
    参考:https://zhuanlan.zhihu.com/p/627310856(比较详细的一篇k8s集群部署文章)https://www.cnblogs.com/libruce/p/17477374.html或者https://zhuanlan.zhihu.com/p/590652259(不关闭防火墙的情况,如何配置端口)https://www.cnblogs.com/suuuch/p/16728103.html(初始化集群或者新节......
  • 9.26每日总结
    今天学习了mongodb数据库的使用,并且学会了对其进行简单的创建数据库以及创建数据表的操作,然后学会了简单的增删改查,并且用编程软件进行连接。同时进一步了解了企业erp,并找了相关的代码进测试学习。......