- 复用类的方法:
1、在新的类中产生现有类的对象,所以新的类由现有类的对象组成,这种方法为组合
2、按照现有类的类型来创建类,不改变现有类的形式,在现有类中添加新代码,这种方法叫做继承
一、继承语法
关键字 extends,使用时会得到基类中所有的域和方法,即继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法
继承需要符合的关系是:is-a,父类更通用,子类更具体。
继承允许将对象视为它自己本身的类型或者基类型来加以处理,即向上转型初始化基类
调用基类构造器来执行初始化。
java会自动在导出类的构造器中插入对基类构造器的调用带参数的构造器
如果没有默认的基类构造器,或者想调用一个带参数的基类构造器,就必须用关键字super显示的编写调用基类构造器的语句
调用基类构造器必须是你在导出类构造器中要做的第一件事
二、final关键字
用到final的三种情况:数据、方法和类
1、final修饰的类不可以被继承
final类中的所有方法都隐式的被指定为final,因为无法覆盖它们
2、final修饰的方法不可以被覆盖
3、final修饰的数据
1、为基本类型时,是一个常量。为引用类型时,使引用恒定不变,即无法更改指向的对象。
2、空白final:指声明为final,但又未给定初值的域
无论什么情况,编译器会确保空白final在使用前必须初始化。
3、final参数:这一特性主要用来向匿名内部类传递数据
当使用的数据不变时,需要定义阅读性强的名称来表示该数据,并将该数据final化。
名称规范:所有字母大写,当由多个单词组成,需要通过_进行分隔。
三、初始化及类的加载
- 类的代码在初次使用时加载,即创建第一个对象的时候加载。或者在访问static域以及static方法的时候也会加载,以为类加载在内存中的位置和static域及方法加载的地方一样,位于内存的数据区中。