015.final关键字
一.final关键字
①申明一个常量:
e.g: final int a=3;
②申明一个不可以被继承的类:
final class……
③申明一个不可以被重写的方法
final void eat(){
}
二.抽象类
①定义:拥有抽象方法的类就是抽象类,并不是说只有抽象方法,抽象类必须使用abstract关键字声明。(没有方法体的方法就是抽象方法,必须要使用abstract关键字修饰)
②与普通类的比较:普通类是一个完善的功能类,可以直接产生实例化对象,而抽象类是指想因为拥有方法体为空的抽象方法,并不能直接产生实例化对象
③使用:
a. 定义一个子类继承抽象类, 重写抽象类之中的全部抽象方法
b.如果子类没有全部重写父类的抽象方法,则必须将子类也必须定义为为abstract类
c. 可以直接访问静态变量和静态方法
d. 可以添加普通成员变量和普通成员方法,但是不可以直接访问,因为要求实例化
e.不能用final修饰抽象类或者抽象方法
三.抽象类中的向上转型
当子类继承抽象类的时候,则抽象类成为父类,这个时候利用向上转型可以产生多态。