黑马程序员技术交流社区

标题: 经典 求输出结果及解释2 [打印本页]

作者: liyudong    时间: 2016-11-13 23:14
标题: 经典 求输出结果及解释2
public class Person{
    Person(String name){
        System.out.println(“a”);
    }
}
public class Student extends Person{
    Student(){
    System.out.println(“b”);
        }
    Student(String name){
        super(name):
        System.out.println(“c”);
    }
}
public class Demo{
     public static void main(String[] args){
          Person p = new Student(“d”);
     }
}
作者: 继续敲代码    时间: 2016-11-13 23:28
输出输出ac

作者: 猎魔时代    时间: 2016-11-14 14:55
super后面的标点应该是分好,不是冒号,父类继承后,那个student()是什么意思,完全不明白,最后输出结果是ac
作者: 猎魔时代    时间: 2016-11-14 15:01
你创建的是子类对象,父类引用指向子类对象Person p = new Student("d");在这里d被赋给了学生类中的name,学生类中的super又调用了person类中的name,并打印了一次a,然后返回student有打印了一次c
作者: Jarc    时间: 2016-11-14 22:55
子类初始化之前必须先初始化父类
作者: 小牛想成为大牛    时间: 2016-11-14 23:45
控制台输出ac




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2