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;

  • 相关阅读:
    第一次团队作业
    第二次结对作业
    动态代理与AOP
    笔试题
    java并发面试题(带答案)
    线程问题——同步和死锁
    java线程的方法
    java实现多线程的方法
    使用java闭锁实现并发
    Java多线程——同步问题
  • 原文地址:https://www.cnblogs.com/kangkaii/p/8419092.html
Copyright © 2011-2022 走看看