• 10.11 周总结动手动脑3


    这周学习到Java方法

    通过菜鸟教程了解到很多

    动手动脑:

    如何比较两个对象的“内容”是否一样

    两个对象的“内容”,其实是指它们在某一时刻的所有字段的值,“内容相等”,其实是就“对应字段值”一致。 在Java中要比对两个对象的字段值,可以 “重写(override)”基类的equals()方法

     

     Foo类重构了构造函数,但是没有写无参的构造函数。所以在主函数中声明对象时,调用无参构造函数失败,报错

    TestStaticInitializeBlock.java

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    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();
             
     
        }
    }

    静态初始化块的执行顺序:

    静态初始化块总是最先执行,再执行public函数,最后执行函数。

    1.静态初始化块只执行一次。

    2.创建子类型的对象时,也会导致父类型的静态初始化块的执行

  • 相关阅读:
    IT人必看的9个故事
    Word中如何隐藏菜单栏
    Delphi MaskEdit用法
    看看哪家银行缩写最牛!
    Delphi TRzButtonEdit的用法
    vagrant box镜像百度下载地址
    Python全国二级等级考试(2019)
    使用Vagrant配置本地开发环境
    Vagrant 如何调整虚拟机的内存大小?
    全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案
  • 原文地址:https://www.cnblogs.com/dty602511/p/14159846.html
Copyright © 2020-2023  润新知