Java面向对象——final关键字
1.final关键字
final在英文中是终结 完结的意思;
使用final声明的类不能被继承;
使用final声明的方法不能被子类覆盖;
使用final声明的变量不能被修改,即为常量;
1.final修饰的类:
先建一个父类fulei:
package m10d29;
public final class fulei {
public static void main(String[] args) {
System.out.println(" ");
}
}
这里我们将父类加上了final关键字,同时再建一个子类Test继承父类 :
我们发现编译报错,子类无法继承带有final关键字的父类!
2.final修饰的方法:
先建一个父类:
package m10d29;
public class fulei {
public final void say(){
System.out.println("我是一个好学生");
}
public static void main(String[] args) {
System.out.println(" ");
}
}
这里父类中有一个final方法,同时新建一个子类继承父类的方法:
我们发现编译报错,不能重写父类的final方法!
3.final修饰的属性
我们在父类里面添加final修饰的属性变量:
对属性进行修改时,发现编译报错了,final变量是不能被修改的,此时a为常量;
final修饰字段的时候 一般和static一起使用,来定义一些不可变的静态常量 方便程序使用:
package m10d29;
public class fulei {
//定义为static final变量,此时不可更改
public static final String name="CHINA";
public static void main(String[] args) {
//static属性可以用类名.属性名调用
System.out.println("name="+fulei.name);
}
}
输出结果:
name=CHINA