A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© liyudong 中级黑马   /  2016-11-13 23:14  /  1380 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

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”);
     }
}

5 个回复

倒序浏览
回复 使用道具 举报
super后面的标点应该是分好,不是冒号,父类继承后,那个student()是什么意思,完全不明白,最后输出结果是ac
回复 使用道具 举报
你创建的是子类对象,父类引用指向子类对象Person p = new Student("d");在这里d被赋给了学生类中的name,学生类中的super又调用了person类中的name,并打印了一次a,然后返回student有打印了一次c
回复 使用道具 举报
子类初始化之前必须先初始化父类
回复 使用道具 举报
控制台输出ac
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马