1.继承(extends)
1.1 什么是继承?有什么用?
基本作用:子类继承父类,代码可以得到复用。
主要(重要)作用:因为有了继承关系,才有了后期的方法覆盖和多态机制。
1.2 继承的相关特性
- B类继承A类,则称A类为超类(superclass)、父类、基类,B类则称为子类(subclass)、派生类、扩展类。
- Java中的继承只支持单继承,不支持多继承,C++中支持多继承。 这也是Java体现简单性的一点,换句话说,Java中不允许这样写代码:class B extends A,C{ }
- 虽然Java中不支持多继承,但有的时候会产生间接继承的效果,例如:class C extends B, class B extends A,也就是说,C直接继承B,其实C还间接继承A。
- Java中规定,子类继承父类,除构造方法不能继承之外,剩下的都可以继承。但是私有的属性无法在子类中直接访问。
- Java中的类没有显示的继承任何类,则默认继承Object类,Object类是Java语言提供的根类(老祖宗类),也就是说,一个对象与生俱来就有Object类型中所有的特征。
- 继承存在的缺点:耦合度高,父类修改,子类受牵连。
1.3 在实际开发中,满足什么条件的时候,我可以使用继承呢? 凡是采用 “is a” 能描述的,都可以使用继承。
2.Object类
Java中内置了一套庞大的类库,这套类库实现了很多基础的功能。例如:String是SUN编写的字符串类,System是SUN编写的系统类。
【扩展】当源码当中一个方法以“;”结尾,并且修饰符列表中有“native”关键字,表示底层调用C++写的dll程序(dll是动态链接库文件)。