以下全为个人理解,如果错误,请指出。
继承:一个类称之为父类,类中有自己的成员变量和成员方法。类比于人这个实体,有头手脚等属性,也有吃饭睡觉等行为。
一个类称之为子类,通过extends去获得父类的内容。类比于男人/女人,小孩/青年/老年,它有人的全部属性和行为,但是它自己也有自己独有的属性和行为。
这特有的,就是子类自己的成员变量和成员方法。但是继承就使得子类不需要重写父类中的那些共同的属性和方法,减少了重复劳动。
接口:在我看来和继承没什么区别,但是在继承中,可以在方法中写方法的实现,但是在接口中,只有方法体。
继承接口后的类 必须有接口的所有方法,但是可以不实现。
接口可以多继承,但是类中只能单继承。
抽象类:抽象类可以定义成员变量和成员方法,它的特别之处是,它的成员方法可以只定义方法名而不写具体的实现,但是也可以写方法的实现。
就像人,定义了睡觉这个行为,那么都是闭眼,这是一个共同的行为。定义一个拿筷子的行为,那每个人就不一样了,就需要子类自己来实现该行为。
抽象类的作用,有些方法有统一的实现方式,有些方法就需要子类自己去写。
当然,只要是继承,都可以重写父类的函数。
在抽象类里面,可以定义抽象方法,也可以不定义,也可以定义非抽象方法。
抽象类,就是一半继承,一半接口。
浙公网安备 33010602011771号