修饰的类称为最终类
final是一个关键字,表示最终的,不可以改变
final类不能被继承
final方法不能被重写,可以被继承
修饰属性:常量
1、必须要初始化
先后顺序
类加载永远在new对象的时间之前
2、不能被修改
基本数据类型值不能改
引用类型地址不能改(枚举类型也是引用类型)
如果你希望你写的类不被继承,你可以直接用final关键字
(断子绝孙关键字(笑))
一般很少使用
Cannot override the final method from a;
不能对a类中的方法重写,这就是final关键字的作用
新人程序员学习的类库,包括三个部分——1、源码;2、字节码;3、帮助文档
可以看源码理解程序
程序开发中使用的部分就是字节码
帮助文档方便对源码的解释说明被提取出来方便开发
程序的运行离不开字节码,帮助文档为开发提供帮助
javadoc是Sun公司提供的一个技术
它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。
也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后
通过Javadoc就可以同时形成程序的开发文档了。
javadoc命令是用来生成自己API文档的
使用方式:使用命令行在目标文件所在目录输入javadoc +文件名.java。
//final是一个关键字,表示最终的,不可以变的
//final修饰的类无法被继承,也就是只能在本类中间使用?
//final修饰的方法无法被覆盖
//final修饰的变量一旦被赋值以后,不可以被重新赋值
//final修饰的实例变量
//final修饰的引用
//务必养成源码的好习惯
//源码是世界上顶级的程序员写出来的,而且开源项目经过了无数人的查阅
//是新人程序员学习的宝贵样本
//源码,字节码,帮助文档
public class FinalTest01{
public static void main(String[] args) {
//.replaceAll("a","b")把字符串里面的a替换成b
//也可以只用""双引号,可以起到删除字符串里面的某个元素的效果
String newString = "XreplaceAll".replaceAll("X","");
System.out.println(newString);
//打印的结果是replaceAll
}
}
//class MyString extends String{
//The type MyString cannot subclass the final class String
//Mystring不能作为String的子类
//public final class String因为在源码当中用final修饰了关键字String
public class FinalTest01{
public static void main(String[] args) {
int i = 10 ;
System.out.println(i);
i = 20 ;
System.out.println(i);
final int k = 100;
k = 200;
//The final local variable k cannot be assigned.
//It must be blank and not using a compound assignment
final int m;
m = 200;
m = 300;
}
}
The final local variable k cannot be assigned. It must be blank and not using a compound assignment
dos窗口给的错误原因是:
无法为最终变量K分配值
The final local variable m may already have been assigned
final修饰的变量只能赋值一次,不可以二次赋值
public class FinalTest02 {
//成员变量之实例变量
final int age ;
//The blank final field age may not have been initialized
public static void main(String[] args) {
}
}
Error:The blank final field age may not have been initialized
方法执行的时候,会给实例变量赋予默认值。
没有机会在方法里面给它再次赋值



