1.final关键字 修饰 类、方法、属性、变量
1)修饰类,则该类不能被继承
2)修饰方法,则该方法不允许被覆盖(重写)
3)修饰属性,则该类的属性不会进行隐形初始化(类的初始化属性必须有值)
或在构造方法中赋值
4)修饰变量,改变量只能赋值一次,即为常量
demo:
父类:
/*final*/ public class Animal { //出错//修饰类,则该类不能被继承
public int age;
public String name;
public int food;
/*final*/ public int print(int a) { //出错//则该方法不允许被覆盖(重写),说的是在子类里边
System.out.println("欢迎来到动物世界=_=");
return a;
}
}
子类:
//class 子类 extends 父类
public class Cat extends Animal {
//方法重写(a:返回值类型 b:方法名 c:参数类型及个数)必须相同
public int print(int a) {
System.out.println("欢迎来到 =_= 海底 =_= 世界");
return a+a;
}
}
测试类:
public class Final {
final public int a; //修饰属性,则该类的属性不会进行隐形初始化(类的初始化属性必须有值)
// 或在构造方法中赋值,如Final(int canshu){}
final int b = 2; //修饰变量,该变量只能赋值一次,即为常量
String name = "final";
/**************************************************************/
//构造方法
public Final(int canshu){
a = canshu; //在构造方法中赋值
/*b = canshu; 出错 //该变量只能赋值一次,指上边那一次 */
System.out.println(a);
System.out.println(b);
System.out.println(name);
}
public static void main(String[] args) {
Final work1 = new Final(6);
}
}
运行结果:
6
2
final