Java中的继承
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的继承相关的知识,希望对你有一定的参考价值。
继承基础知识
1、关键字extends表示继承,如:
class Student extends Person
{
…
}
继承关系是“is-a”关系。
Java不支持多继承。
在定义一个类的时候,如果没有显式指定该类的父类,那么该类就会继承于java.lang.Object类(JDK提供的一个类)。
2、重写(名相同,返回类型、参数也要相同-----构造器不能被重写)
超类中的方法可以在子类中重写,覆盖超类中的方法。
如果覆盖了以后希望调用超类中的同名方法,用关键字super。
注意:super和this引用不是一样的概念。super不是一个对象的引用,只是一个指示编译器调用超类方法的特有关键字。
在覆盖一个方法的时候,子类方法不能低于超类方法的可见性。(访问修饰符:子类的大于等于父类)
子类抛出的异常不能比父类多。
3、构造器
因为子类不继承超类的构造器方法,所以必须用super实现对超类构造器的调用。使用super调用构造器的语句必须是子类构造器的第一条语句。
如果子类的构造器没有显式地调用超类的构造器,将自动调用超类的默认构造器(无参数的),如果超类没有默认构造器,而子类没有显式调用超类的其他构造器,则报错。
4、public class Son extends Father{
}
public class TestMain{
public static void main (String[] args){
Father father1 = new Father();
Father father2 = new Son();//这样不会报错,father2就只能看见父类中的方法与属性(对于在子类中重写的
//方法,father2在调用的时候,调用的是子类中的方法(覆盖))
以上是关于Java中的继承的主要内容,如果未能解决你的问题,请参考以下文章