本帖最后由 孙旌棋 于 2014-4-20 16:53 编辑
首先, 子类实例化的过程中其实第一句就是你super(), 如果你不写, 则由虚拟机为你加载
如果父类的构造函数中有参数, 那么自类实例化的时候, 需要指定的哦, 详细的请看代码中的注释- class Father {
- int num;
- private String name;
- private int age;
- Father() {
- num = 1;
- System.out.println("孙旌棋");
- }
- Father(int x) {
- System.out.println(x);
- }
- Father(String name, int age) {
- this.name = name;
- this.age = age;
- System.out.println(name + " " + age);
- }
- }
- class Son extends Father {
- Son() {
- // super(); 第一行有默认的隐式语句super(),由虚拟机加载
- System.out.println("孙旌棋,863523704");
- }
- Son(int x) {
- // this(); 当子类中有一个构造函数访问父类的构造函数时,可以用this(); super(2);//
- // 有参数时需要手动定义super(),语句来指定
- System.out.println(x);
- }
- Son(String name, int age) {
- super(name, age);// 父类已实现,子类可以直接拿来用
- }
- }
复制代码
|