zoukankan      html  css  js  c++  java
  • Java 另一道构造器与构造器重载的题目

    题目:

    请写出以下程序的输出结果

    public class ConstructorTest2 {
        public static void main(String[] args) {
            new B("test");
        }
    }
    
    class B extends A {
        public B(String s) {
            System.out.println(s);
        }
    
        public B(String s1, String s2) {
            this(s1 + s2 + "3");
        }
    
        public B() {
            this("4");
        }
    }
    
    class A {
        public A(String s) {
            System.out.println(s);
        }
    
        public A(String s1, String s2) {
            this(s1 + s2);
        }
    
        public A() {
            this("1", "2");
        }
    }

    输出结果为:

    12
    test

    调用B(String s)的构造器时,隐含调用了super(),然后到了A()中继续调用A(String s1, String s2)再到A(String s),之后回到了B(String s)。

    因此构造器调用this构造器的时候并不会调用子类的任何构造器。

  • 相关阅读:
    2018第0次作业
    第八次作业
    第七次作业
    第六次作业
    第四次作业
    第三次作业
    第二次作业
    第3次作业
    第2次作业
    第1次作业
  • 原文地址:https://www.cnblogs.com/wuyou/p/3647833.html
Copyright © 2011-2022 走看看