final关键字:
使用final关键字做标识有”最终的“意思
final关键字可以修饰类,方法,和属性:
final修饰类,则该类不允许被继承
final修饰方法,则该方法不允许被覆盖(即重写)
final修饰属性,则该类的属性不会进行隐式的初始化(初始化是必须有值),或在构造方法中赋值(但只能选其一)
final修饰变量,则该变量的值只能赋一次值,即为常量
样例:
如果父类Animal类有final关键字修饰:
package com.imooc;
final public class Animal
{
public int age = 90;
public int weight;
public void bark()
{
System.out.println("I can bark");
}
public Animal()
{
System.out.println("父类Animal的构造方法执行了");
age = 91;
}
}
则子类Dog类会报错:
如果修饰方法:
则子类的方法的重写会报错:
修饰属性的值跟上面说的一样,不需要再说明。