目录
final关键字
1.final是java语言中的一个关键字。final表示最终的,不可变的。final可以修饰变量、方法、类等。
2.final修饰的类无法继承。
3.final修饰的方法无法被覆盖重写。
4.final修饰的局部变量一旦赋值不能重新赋值,即只能赋一次值。
当final修饰引用时,引用保存的地址就不能再变化,即该引用永远指向第一次指向的对象,也不能修改为null,因此这个对象在方法执行过程中都不会被垃圾回收器回收。但是这个对象的属性值是可以改变的。
final修饰实例变量时,系统不会再为该实例变量赋默认值,需要程序员必须手动赋值,这个手动赋值可以在实例变量定义后直接赋值,也可以在构造方法中赋值。
5. 因为final修饰的实例变量一旦赋值之后永远不会改变(该实例变量值不会随着对象的变化而变化),为了节省内存空间,就加上static修饰符,变成静态变量,存储在方法区。
static final联合修饰的变量称为常量,常量名建议全部大写,每个单词之间采用下划线衔接。
常量和静态变量都是存储在方法区,并且都是在类加载时初始化,只是常量的值不能变化。
常量一般都是公开public的,不需要封装。
抽象类与接口
1.抽象类:类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。而类本身是不存在的,所以抽象类无法创建对象(无法实例化),所以抽象类是用来被子类继承的。
抽象类举例:
抽象类也属于引用数据类型。
抽象类的