java与继承相关一些点

子类继承自基类,当子类的构造器被调用时会默认调用基类的无参数构造器,如果基类没有无参数构造器,则子类必须调用super(参数...)来调用基类的有参数构造器,否则会报错。

package com.company;

import java.util.ArrayList;

import com.yeyingqi.Printer;
import static com.yeyingqi.Printer.*;
class Animal{
    public String name;
    public String type;
    public Animal(String type){
        this.type = type;
        Println("Animal Construtor with argc");
    }
    public Animal(){
        Println("Animal Construtor");
    }
}
class Dog extends Animal{
    private int age;
    public Dog(String type) {
        super(type);
        Println("Dog Construtor with argc");
    }
    public Dog(){
        Println("Dog Construtor");
    }
    public void speak(){
        Println(name);
    }

}
public class Main {

    public static void main(String[] args) {
    // write your code here
        Dog dog = new Dog("zjl");
        Dog dog1 = new Dog();
    }
}

结果:

Animal Construtor with argc
Dog Construtor with argc Animal Construtor Dog Construtor Process finished with exit code
0
原文地址:https://www.cnblogs.com/zjlyyq/p/6868916.html