一,包和导入
1.1 包
包:关键字
package
,本质就是文件夹问:为什么要创建不同的包?
答:因为一个项目中会有许多模块,一个模块中会涉及到很多相关的类,创建不同的包,将对应的类放在这些包中能提高对项目的管理。
任何一个类都必须在一个包中,并且这个类的第一行必须明确该类的完整路径
1
2
3
4
5
6
7 package com.qf.test;// 当前类所属的包
public class Test1 {
public static void main(String[] args) {
}
}注:
一个类的完整路径(全类名、类全名)
1 例如:Test1这个类的完整路径是com.qf.test.Test1
1.2 包的命名
规则:标识符的规则
规范:全小写,用
.
来划分包的结构层次,一般使用域名倒置常见的包名:
- 测试包:test
- 工具包:util
- 实体包:domain、entity、pojo、bean
- 数据库:dao(data access object)
- 业务层:service、business
- 控制层:controller
1.3 导入
导包:关键字
import
当一个类使用到了其他包中的类时,需要将这个类引入进来注:
- 同包中的类调用时无需导包
- lang包中的类无需导入
1
2
3
4
5
6
7
8
9
10
11
12
13 /*import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;*/
import java.util.*;// 通配符,按需导入
public class Test1 {
public static void main(String[] args) {
}
}
注:不同包中有同名的类,需要使用时,可以通过以下方式区别:
1
2
3
4
5
6
7
8
9 import java.util.Random;
public class Test1 {
public static void main(String[] args) {
com.qf.test.Random r1 = new com.qf.test.Random();
Random r2 = new Random();
com.qf.entity.Random r3 = new com.qf.entity.Random();
}
}
二,静态
关键字:
static
2.1 静态的特点
静态成员随着类的加载而加载是最先进入内存的
静态成员,不属于对象,属于整个类,是这个类的所有对象的共享内容
静态成员应该使用类名调用
静态的只能调用静态的,不能调用非静态的;非静态的既可以调用静态的也可以调用非静态的
注:后人知道前人,前人不知道后人
静态不能调用this
静态只能修饰成员
2.2 静态常量
格式:
1 public static final 数据类型 变量名 = 值;注:
- 一般静态常量都是
public
的- 常量的命名规范:全大写,多个单词,用下划线连接
- 成员常量必须在创建时赋予初始值
2.3 静态代码块
格式:
1
2
3
4
5 public class Emp {
static{
// 静态代码块中的语句
}
}特点:
- 静态代码块最优先执行
- 静态代码块只执行一次
作用:
- 读取配置文件
- 对静态属性进行初始化
注:多个静态代码块会根据书写顺序从上到下依次执行