一、final关键字
final修饰的类、方法、变量的特点
final修饰的类的特点:是一个最终类不能被继承
final修饰的方法的特点:是一个最终方法,可以被继承使用,但是不能被重写
final修饰的变量的特点:是一个常量,值不能改变
final修饰的类
public class Ye {
}
/*
final修饰的类:是一个最终类,不能被继承;其他的使用方式不变(继承其他的类,创建对象使用...)
*/
public final class Fu extends Ye{
}
/*
Cannot inherit from final 'com.itheima.demo01finalClass.Fu'
被final修饰的类,不能被继承
*/
/*public class Zi extends Fu{
}*/
public class Demo01 {
public static void main(String[] args) {
Fu fu = new Fu();
}
}
final修饰的方法
/*
final修饰的方法:是一个最终方法,可以被继承使用,但是不能被重写
*/
public class Fu {
public void show01(){
System.out.println("Fu类没有被final修饰的show01方法");
}
public final void show02(){
System.out.println("Fu类被final修饰的show02方法");
}
}
public class Zi extends Fu{
public void show01(){
System.out.println("Zi类重写Fu类没有被final修饰的show01方法");
}
/*
'show02()' cannot override 'show02()' in 'com.itheima.demo02finalMethod.Fu'; overridden method is final
子类不能重写父类被final修饰的方法
*/
/*public final void show02(){
System.out.println("Fu类被final修饰的show02方法");
}*/
}
public class Demo01 {
public static void main(String[