48、final关键字
*final是一个关键字,表示最终的,不可变的。
*final修饰的类无法被继承。
*final修饰的方法无法被覆盖。
*final修饰的变量一旦赋值之后,不可重新赋值。
*java语言规定实例变量使用final修饰之后,必须手动赋值,不能采用系统默认赋值。
*final修饰的引用,一旦指向某个对象之后,不能再指向其它对象,那么被指向的对象无法被垃圾回收器回收。
final修饰的引用虽然指向某个对象之后不能指向其它对象,但是所指向对象内部的内存是可以被修改的。
*final修饰的实例变量是不可变的,这种变量一般和static联合使用,被称为“常量”
常量的定义语法格式:
public static final 类型 常量名=值;
java规范中要求所有常量的名字全部大写,每个单词之间使用下划线连接。
49、java中的包机制
*包又称为package,java中引入package这种语法机制主要是为了方便程序的管理,不同功能的类被分门别类放到
不同的软件包中,查找比较方便,管理比较方便。
*怎么定义package呢?
-在java源程序的第一行上编写package语句。
-package只能编写一个语句。
-语法结构:
package 包名;
*包名的命名规范:
公司域名倒序+项目名+模块名+功能名;
采用这种方式重名的几率较低,因为公司域名具有全球唯一性。
例如:
com.bjpowernode.oa.user.service;
org.apache.tomcat.core;
*包名要求全部小写,包名也是标识符,必须遵守标识符命名规则。
*一个包将来对应一个目录。
*使用了package机制之后,应该怎么编译?怎么运行呢?
-使用了package机制之后,类名不再是Test01了,类名是:com.bjpowernode.javase.day11.Test01
-编译:javac.java源文件路径(在硬盘上生成一个class文件:Test01.class)
-手动方式创建目录,将Test01.class字节码文件放到指定的目录下
-运行:java com.bjpowernode.javase.day11.Test01
package com.bjpowernode.javase.day11;//4个目录【目录之间使用.隔开】
public class Test01
{
public static void main(String[] args){
System.out.println(“Test01’s main method execute!”);
}
}
-另一种方式(编译+运行):
*编译:
javac -d 编译之后存放路径 java 源文件的路径
*例如:将F:Hello.java文件编译之后放到C:目录下
javac -d C:F:Hello.java
*javac -d .*.java
将当前路径中*.java编译之后存放到当前目录下。
*运行:JVM的类加载器ClassLoader默认从当前路径下加载。
保证DOC命令窗口的路径先切换到com所在的路径,执行:
java com.bjpowernode.javase.day11.Test01
*import语句用来完成导入其它类,同一个包下的类不需要导入,
不在同一个包下需要手动导入。
* import语法格式:
import 类名;
import 包名.*;
*java.lang.*; 不需要手动引入,系统自动引入。
-lang:language语言包,是java语言的核心类,不需要手动引入。
*什么时候需要import?
*不是java.lang包下,并且不在同一个包下的时候,需要使用 import进行引入。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!