继承的概念
•
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
•
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承的作用
•
子类拥有父类的属性和方法,减少重复的代码,维护性高。
•
代码简洁,提高了代码的复用性。
继承关键字
•
class——
定义类
•
interface——
定义接口
•
extends——
继承父类
•
implements——
实现接口
extends和implements的区别
•
相同点
•
都属于
Java
中的继承
•
都发生在多各类中
•
不同点
•
extends
只能单继承,
implements
可以实现多继承
•
extends
继承父类时,父类中可以存在方法的默认实现
而implements在实现接口时接口中不能有方法实现
•
extends
发生在子类和父类之间,
implements
发生在实现
类和接口之间
继承的特性
子类拥有父类非 private 的属性、方法
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展
子类可以用自己的方式实现父类的方法
提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)
Java 的继承是单继承,但是可以
多代
继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性
继承的优点
Ø
提高代码的复用性
Ø
子类中重复的代码只需要在父类中写一遍,所有子类都可以应用
Ø
提高代码的可维护性
Ø
只需要修改父类属性和方法,所有的子类都会应用
Ø
提高类和类之间的关联性,为多态做基础
Ø
其实这也是继承的缺点,增加了类和类之间的耦合度,耦合度的增加意味着后期扩展性的降低
包
包的概念
•为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
包的作用
•
一、
把功能相似或相关的类或接口组织在同一个包中,
方便
类的查找和使用
•
二、
如同文件夹一样,包也采用了
树形目录
的
存储方式
。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以
避免名字冲突
。
•
三、包也限定了
访问权限
,拥有包访问权限的类才能访问某个包中的类。
使用包的注意事项