①修饰类,该类不能被继承。String、System都是用final修饰的类
②修饰方法,该方法不能被重写。父类中方法只能被子类使用但不能重写时可以用final修饰
③final和abstract不能共存
④final修饰变量,即常量,只能赋值一次
package com.wang.duixiang; public class FinalDemo01 { public static void main(String[] args) { Employee employee=new Coder(); employee.showFinal(); employee.show(); System.out.println("============================================="); //final修饰的变量:基本类型的变量,值不能改变 final int NUM=20; System.out.println(NUM); //NUM=30;因为NUM是常量,所以值只能设置一次,不可更改 System.out.println("============================================="); //final修饰的变量:一个引用类型的变量,地址值不能改变,属性值可以发生变化 final Employee employee1=new Employee(); //employee1=new Employee();报错,因为只要new就会开辟新空间,而final所修饰的变量不允许这样 employee1.name="王迎婧"; employee1.age=22; System.out.println("name属性值:"+employee1.name); System.out.println("age属性值:"+employee1.age); System.out.println("==================================="); //属性值可更改 employee1.name="万网"; System.out.println("更改后name的属性值:"+employee1.name); } } class Coder extends Employee{ public void show(){ System.out.println("没有final关键字可以重写方法"); } //public void showFinal(){}父类中的此方法有final修饰,所以不能重写 } class Employee{ String name; int age; public void show(){ System.out.println("没有final关键字"); } public final void showFinal(){ System.out.println("有final关键字"); } } //class Employee extends People{}报错,因为People被final修饰,所以不能被继承 final class People{ }