第三章
十一.final关键字
关于java语言当中final关键字:
1.final是一个关键字,表示最终的,不可变的
2.final修饰的类无法被继承
3.final修饰的变量一旦赋值之后,不可重新赋值【不可二次赋值】
4.final修饰的方法无法被覆盖
5.final修饰的实例变量,必须手动赋值,不能采用系统默认值
6.final修饰的引用,一旦指向某个对象之后,不能再指向其他对象,那么被指向的对象无法被垃圾回收器回收
7.final修饰的实例变量是不可变的,这种变量一般和static联合使用,被称为“常量”
常量的定义语法格式:
public static final 类型 常量名 = 值;
java规范中要求所有常量的名字全部大写,每个单词之间使用下划线连接
实际上常量和静态变量一样,区别在于:
-
常量的值不能变
-
常量和静态变量,都是储存在方法区,并且都是在类加载时初始化
-
常量一般都是公共的:public的
十二.package和import
关于Java语言当中的包机制:
1.包又被称为package,java中引入package这种语法机制主要是为了方便程序的管理。不同功能的类被分门别类放到不同的软件包当中,查找比较方便,管理比较方便,易维护
2.怎么定义package呢?
-
在java源程序的第一行上编写package语句
-
package只能编写一个语句
-
语法结构:
package 包名;
3.包的命名规范:
公司域名倒序+项目名+模块名+功能名
采用这种方式重名的几率较低,因为公司域名具有全球唯一性
4.包名要求全部小写,包名也是标识符,必须遵守标识符的命名规则
5.一个包将来对应的是一个目录
6.使用了package机制之后,应该怎么编译呢?怎么运行呢?
-
使用了package机制之后,类名不再是Test01了,类名是:com.bjpowernodes.javase.day11.Test01
-
编译:javac java源文件路径 (在硬盘上生成一个class文件:Test01.class)
-
手动方式创建目录,将Test01.class字节码文件放到指定的目录下
-
运行:java com.bjpowernodes.javase.day11.Test01
import语句用来完成导入其他类,同一个报下的类不需要导入,不在同一个包下需要手动导入。
import语法格式:
import 类名;
import 包名.*;
import语句需要编写到package语句之下,class语句之上
java.lang.*;不需要手动导入,系统自动引入
lang:language语言包,是Java语言的核心类,不需要手动引入
什么时候需要import?
-
不是java.lang包下,并且不再同一个包下的时候,需要使用import进行引入