zoukankan      html  css  js  c++  java
  • 子类继承父类的时候构造器和非静态自由块的调用顺序

    子类继承父类的时候构造器和非静态自由块的调用顺序
    new 一个子类的时候的访问顺序:



    class Creature {
        {
            System .out. println("creature 的非静态初始化 ");
        }

        public Creature () {
             super();
            System .out. println("creature 的构造方法 ");
        }

    }

    class Animal extends Creature {
        {
            System .out. println("animal 的非静态初始化 ");
        }

        public Animal () {
             super();
            System .out. println("animal 的构造方法 ");
        }

    }

    public class Monkey extends Animal {
        {
            System .out. println("monkey 的非静态初始化 ");
        }

        public Monkey () {
             super();
            System .out. println("monkey 的构造方法 ");
        }

        public static void main (String[] args) {
             new Monkey();
        }

    }

    输出结果:



    非静态初始化块的执行总是先于构造器执行的



    super(Para p1,Para p2......); 根据参数调用父类对应的构造方法

    this(Para p1,Para p2......);  根据参数调用本类对应的构造方法

    对于一个无参的构造器,会有一个默认的super(),她会调用父类的无参的构造方法





















  • 相关阅读:
    自动生成小学四则运算题目的程序.心得体会
    Github使用心得
    结对作业实验报告
    Java JWT做登录认证 IT
    该任务映像已损坏或已篡改 的修复方法
    OSI七层协议模型、TCP/IP四层模型学习笔记
    redis客户端连接数
    安装window的功能后重启电脑总是蓝屏问题
    Intellj IDEA环境配置及入门项目
    SqlServer发布订阅
  • 原文地址:https://www.cnblogs.com/ZhangJinkun/p/4531702.html
Copyright © 2011-2022 走看看