定义为final的类不能被继承
如果希望一个类不允许任何类的继承,并且不允许其他人对这个类进行任何的改动,可以将这个类设置为final类型;
如果一个类被设置成final类型 则这个类的所有方法都隐式的设置为final形式,但是final类中的成员变量可以被定义为非final形式
final方法
首先final方法不可以被重写。
定义为final方法可以防止子类修改该类的定义与实现方法,同时定义final的方法执行效率要高于非final方法。
如果一个父类的某个方法被private修饰 则子类无法访问该方法,自然无法覆盖该方法,所以一个定义为private的方法隐式的被指定为final类型,这样就不用private修饰又用final修饰
但如果父类一个方法 由private 和final 同时修饰 则子类可以被覆盖这方法(看似被覆盖 实际上不是 他是生成了一个新的方法)
final定义的变量为常量,一旦被设定值则无法再改变值
final关键字定义的变量必须在声明时进行赋值操作,
被定义为final的常亮定义时需要使用大写字母命名,并且中间使用下划线进行连接 这是java编码规则。
内部类
很明显就是类里面还有一个类
在一个类的方法里定义另一个类就是局域内部类