final可修饰非抽象类、非抽象类和变量
- final修饰的【类】不能被继承
- ......修饰的【方法】不能被重写
- 修饰的【变量表示常量】,常量必须初始化,初始化之后值就不能被修改。
- 不能修饰【构造方法】
- final修饰方法如下:
----------------------------------举例如下-------------------------------
public final class final{
//final修饰成员变量Error:(4, 18) java: 变量 A 未在默认构造器中初始化
/*final String A;*/
//不添加static会报:Error:(11, 28) java: 无法从静态上下文中引用非静态 变量 B
static final int C=22;//静态在方法中调用,变量规划化要大写
public static void main(String[] args) {
//final修饰局部变量
final int a;//不赋值输出的值会报错
final int b = 2;
System.out.println(b);
//System.out.println(a);//报错
System.out.println(c);
}
//final修饰方法
public final void demo() {
System.out.println("final's method");
}
}
//继承提示:不能继承final修的的父类
/*
class A extends final的使用 {
}*/
class Demo{
public final void demo() {//final修饰的方法不能重写 ,报错
System.out.println("final's method");
}
}
-----------------------------------以下待整理--------------------------------------
public class Customer {
// 父类object的构造方法
public Customer() {
super();}
// 父类有参的构造方法
public Customer(String name, int age) {
this.name = name;
this.age = age;
}}
-----------------------------------------------------
public class TestFinal0 {
public static void main(String[] args) {
final Customer c = new Customer("vv", 11);
// 此处final修饰的地址不能被修改
// c=new Customer();
System.out.println(c);
}
}