Final:断子绝孙
final修饰类-“太监类”,不能有子类;比如String类
final修饰方法:方法不能被重写
**fnal修饰变量:**表明此变量一旦赋值不允许被修改,即为一个常量
- fnal修饰属性:一定要在这些地方给常量赋值 :1 显式初始化 2 代码块初始化 3 构造器初始化
fnal修饰局部变量中的形参:1. 调用此方法时,给形参常量赋值 2.一旦赋值,在方法内可以使用形参常量,但 不能给形参常量再赋值
抽象类:abstract
修饰类:在类class之前加abstract
不能实例化
抽象类中仍然存在构造器---->只要是类就一定会有构造器
此时抽象类中的构造器,便于子类实例化使用
修饰方法:使用abstract修饰,没有方法体—>public abstract void info();
抽象类中可以没有抽象方法
抽象方法一定要在抽象类中
抽象类的子类必须重写其父类中的所有的抽象方法,方可实例化–>抽象方法就是为了给具体的子类重写具体化
抽象类的子类如果没有重写其父类中的所有的抽象方法,则子类仍然为一个抽象类—>因为继承了父类的方法,所以具体的子类一定要重写抽象父类中所有的抽象方法
注意:
abstract不修饰:变量、代码块、构造器;私有方法、静态方法、final的方法、final的类