继承与抽象类
继承:对个类有共同的成员变量和成员方法,抽取到另外一个类中(父类),再让多个类去继承这个父类
继承的特点:单一继承,只能继承一个父类;
支持多层继承;
继承中成员变量的特点:
1.子类只能获取父类非私有成员
2.子父类中成员变量的名字不一样直接获取父类的成员变量
3.子父类中成员变量的名字一样直获取子类的成员变量(就近原则)
关键字 super:可以获取父类的成员变量和成员方法,用法和this相似
继承中成员方法的特点:
1.子类中没有这个方法调用父类的;
2.子类中重写了这个方法,调用子类的;
方法的重写:在子父类当中,子类的方法和父类的完全一样,子类重写了父类的方法,
在子类重写了父类的方法之后,使用子类对象调用的就是子类的方法
继承的优点:
1.提高了代码的复用性
2.提高了代码的可维护性
继承的缺点:
1.类的耦合性增强了
2.违背了开发的原则:高内聚低耦合
关键字: abstract,用于修饰类和方法
抽象方法:不同类的方法是相似的,但是具体内容又不太一样,所以我们只能抽取他的声明,没有具体的方法体
抽象类:有抽象方法的类必须是抽象类
抽象类的特点:
1.抽象方法只能在抽象类里面
2.抽象类和抽象方法必须被abstract修饰
3.抽象类不能创建对象
4.抽象类中可以有非抽象方法
5.一个类继承了抽象类必须重写抽象类中所有的抽象方法,否则这个类必须也是抽象类