zoukankan      html  css  js  c++  java
  • Java 类的构造器的调用顺序

    规则如下:
    对于一个复杂的对象,构建器的调用遵照下面的顺序:
    (1) 调用父类构建器。这个步骤会不断重复下去,首先得到构建的是分级结构的根部,然后是下一个子类,等等。直到抵达最深一层的子类。
    (2) 按声明顺序调用成员初始化模块。
    (3) 调用子类构建器的主体。


    代码如下:

    class Meal {
        Meal() { System.out.println("Meal()"); }
    }
    class Bread {
        Bread() { System.out.println("Bread()"); }
    }
    class Cheese {
        Cheese() { System.out.println("Cheese()"); }
    }
    class Lettuce {
        Lettuce() { System.out.println("Lettuce()"); }
    }
    class Lunch extends Meal {
        Lunch() { System.out.println("Lunch()");}
    }
    class PortableLunch extends Lunch {
        PortableLunch() {
            System.out.println("PortableLunch()");
        }
    }
    class Sandwich extends PortableLunch {
        Bread  b = new Bread();
    
        Cheese c = new Cheese();
    
        Sandwich() {
            System.out.println("Sandwich()");
        }
        Lettuce l = new Lettuce();
        public static void main(String[] args) {
            new Sandwich();
        }
    }
    

    注:Lettuce l = new Lettuce();即使在子类的构造方法下方,但应注意 先初始化所有的成员。
    ***
    文章参考:java编程思想,198-199;

  • 相关阅读:
    背包九讲——动态规划
    Collection、Map、数组 遍历方式
    TCP三次握手与四次挥手
    数据结构——B树、B+树
    数据结构——红黑树
    数据结构——二叉查找树、AVL树
    jquery 抽奖示例
    comebotree树
    初玩Linux部署项目
    springMvc + websocket 实现点对点 聊天通信功能
  • 原文地址:https://www.cnblogs.com/kangkaii/p/8419092.html
Copyright © 2011-2022 走看看