java作为一个面向对象的语言,与c这种面向过程的语言有着很大的编程逻辑上的不同,java以类为主要的基础,主要通过类与方法实现编程需求,所以类之间的关系在java中占据着很重要的作用,作为一名java初学者,这篇博客主要介绍一下我对java类继承的简单理解。
在java中,一个类可以继承自另一个类,通过在类名后加extends关键字得以实现。
public class DutyIntervalSet<L> extends CommonMultiIntervalSet<L>
上面是我从我的一个java项目中随便抽出来的一个类继承关系(<L>为泛型声明,在这篇博客中请忽略)在这一继承关系中,DutyIntervalSet类继承自CommonMultiIntervalSet类,我们说DutyIntervalSet是子类,CommonMultiIntervalSet是他的父类。在一个继承关系中,一个类只能有一个父类,即一个类只能继承一个类。如果一个类继承自一个类,那么这个类默认拥有其父类所提供的所有方法。同时在子类中,如果有需求,可以通过Override方式对父类方法进行重写,也可以另写子类所独有的方法。对父类方法的重写要求方法函数名,参数均与父类一致。如果程序员无法确定,可以通过@Override关键字让编译器帮助程序员判断重写是否满足格式(如果不满足,编译器会报错)
@Override public Set<L> labels()
{
Set<L> reSet = new HashSet<>();
reSet = labels.keySet();
return reSet;
}
以上是我在我的一个代码项目中所写的重写方法。
在继承中还需要注意的一点是,继承关系是不具备传递性,即我父类的父类不是我的父类,在这里的例子中,如果CommonMultiIntervalSet还继承自一个类A,那么DutyIntervalSet并不是A的子类。