继承
1.1、什么是继承,有什么用?
继承:在现实世界当中也是存在的,例如:父亲很有钱,儿子不用努力也很有钱。
继承的作用:
基本作用:子类继承父类,代码可以得到复用。(这个不是重要的作用,是基本的作用)
主要(重要)作用:因为有了继承关系,才有了后期的方法覆盖和多态机制。
1.2、继承的相关特性
(1)B类继承A类,则称A类为超类(superclass)、父类、基类。B类则称为子类(subclass)、派生类、扩展类。
class A{ }
class B extends A{ }
(2)java中的继承只支持单继承,不支持多继承,c++中支持多继承,这也是JAVA体现简单性的一点,换句话说,java中不允许这样写代码:class B extends A,C{ } 这是错误的。
(3)虽然java中不支持多继承,但有的时候会产生间接继承的效果,例如:class C extends B, class B extends A,也就是说C直接继承B,其实C还间接继承A。
(4)JAVA中规定,子类继承父类,除构造方法不能继承之外,剩下都可以继承。但是私有的属性无法在子类中直接访问。(父类中private修饰的不能在子类中直接访问。可以通过间接的手段来访问)
(5)JAVA中的类没有显示的继承任何类,则默认继承Object类,Object类是java语言提供的根类(老祖宗类),也就是说,一个对象与生俱来就有Object类型中所有的特征。
(6)继承也存在一些缺点,例如:CreditAccount类继承Account类会导致它们之间的耦合度非常高,Account类发生改变之后会马上影响到CreditAccount类,父类修改,子类受牵连。