Board logo

标题: 一步搞清楚多态与类初始化的底层原理(1) [打印本页]

作者: look_w    时间: 2019-3-11 19:28     标题: 一步搞清楚多态与类初始化的底层原理(1)

首先我们先看一个段非常有代表性的代码,里面一口气牵扯到了多态和类初始化顺序知识。

    public class Test {
     
        public static void main(String[] args) {
            A test = new B();
        }
    }
     
    class A {
        int value = 10;
     
        A() {
            System.out.println("父类构造器");
            process();
        }
     
        public void process() {
            System.out.println("父类的process");
            value++;
            System.out.println(value);
        }
    }
     
    class B extends A {
        int value = 12;
        {
            value++;
        }
        B() {
            System.out.println("子类构造器");
            process();
        }
     
        public void process() {
            System.out.println("子类的process");
            System.out.println(value);
            value++;
            System.out.println(value);
        }
    }

它的输出是:

父类构造器

子类的process

0

1

子类构造器

子类的process

13

14

    我想现在你一定很困惑,不要慌上车!带你了解底层的原理




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0