您的位置:首页 > 其它

继承

2017-01-11 00:00 169 查看
Java的类可以分为三类:

类:使用class定义,没有抽象方法。

抽象类:使用abstract class定义,可以有也可以没有抽象方法。

接口:使用inerface定义,只能有抽象方法。

在这三个类型之间存在如下关系:

类可以extends:类、抽象类(必须实现所有抽象方法),但只能extends一个,可以implements多个接口(必须实现所有接口方法)。

抽象类可以extends:类,抽象类(可全部、部分、或者完全不实现父类抽象方法),可以implements多个接口(可全部、部分、或者完全不实现接口方法)。

接口只能extends一个接口。

继承以后子类可以得到什么:

子类拥有父类非private的属性和方法。

子类可以添加自己的方法和属性,即对父类进行扩展。

子类可以重新定义父类的方法,即多态里面的覆盖,后面会详述。

关于构造函数

构造函数不能被继承,子类可以通过super()显示调用父类的构造函数。

创建子类时,编译器会自动调用父类的无参构造函数。

如果父类没有定义无参构造函数,子类必须在构造函数的第一行代码使用super()显示调用。

类默认拥有无参构造函数,如果定义了其他有参构造函数,则无参函数失效,所以父类没有定义无参构造函数,不是指父类没有写无参构造函数。看下面的例子,父类为Human,子类为Programmer。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  抽象 接口 构造函数