JavaSE 基础 第29节 final 关键字
2016-06-29
使用final修饰过的都是不可改变的。
1 final 修饰变量
恒定不变的属性,可以用final来进行修饰。
变量名建议全部使用大写。
finale修饰的变量不能改变,如果在程序中重新赋值,编译报错。
package com.java1995; /** * final 修饰变量 * @author Administrator * */ public class Asia { public static final String SKIN_COLOR="黄色"; public static final int EYE_COUNT=2; public static final String EYE_COLOR="黑色"; }
2 final 修饰方法
任何继承类无法覆盖该方法。
重载不会受到限制。
package com.java1995; /** * final 修饰方法 * @author Administrator * */ public class FinalMethodTest { } class Tree{ public final void develop(){ System.out.println("小树在生长"); } } class Oak extends Tree{ public Oak(){ System.out.println("初始化橡树"); } //final类型的方法,任何继承类无法覆盖该方法 // public void develop(){ // // } //final类型的方法可以重载 public void develop(String name){ } }
3 final 修饰类
该类不能作为任何类的父类
类中的方法会全部被自动定义成为final类型。以下编译会报错
package com.java1995; /** * final 修饰类 * @author Administrator * */ public class FinalClassTest { } /** * final类不能作为任何类的父类, * 类中的方法会全部被自动定义成final类型 * @author Administrator * */ final class People{ } class Teacher extends People{ }
【参考资料】