包
包就是文件夹,用来管理各种不同功能的Java类,方便后期代码维护
- 包名的规则:公司域名反写+包的作用,需要全部英文小写,见名知意
- 例:com.itheima.domain
package com.itheima.domain;
public class Student {
}
com.itheima.domain.Student称为全类名或全限定名
使用其他类的规则
使用其他类时,需要使用全类名
import com.itheima.domain.Student;//这就是导包的由来
public class Test {
public static void main(String args[]) {
//com.ithema.domain.Student s = new com.ithema.domain.Student();
Student s = new Student();
}
}
- 使用同一个包中的类时,不需要导包
- 使用java.lang包中的类时,不需要导包
- 其他情况都需要导包
- 如果同时使用两个包中的同类名,需要用全类名
final关键字
| final修饰 | 表示 |
|---|---|
| 方法 | 表明该方法是最终方法,不能被重写 |
| 类 | 表明该类是最终类,不能被继承 |
| 变量 | 叫做常量,只能被赋值一次 |
常量
实际开发中,常量一般作为系统的配置信息,方便维护,提高可读性
常量的命名规则
- 单个单词:全部大写
- 多个单词:全部大写,单词之间用下划线隔开
细节
- final修饰的变量是基本类型:那么变量存储的数据值不能发生改变
- final修饰的变量是引用类型:那么变量存储的地址值不能发生改变,对象内部的可以改变
- 字符串是不能发生改变的底层原理:在底层有一个叫value的字节数组存储字符串里的内容,而这个数组被 private 和 final 修饰,并且底层也没有提供对应的get和set方法,外界无法获取到数组的地址
权限修饰符
- 权限修饰符:是用来控制一个成员能够被访问的范围
- 可以修饰成员变量,方法,构造方法,内部类
权限修饰符的分类
有四种作用范围由小到大(private < 空着不写(缺省/默认) < protected < public)
| 修饰符 | 同一个类中 | 同一个包中其他类 | 不同包下的子类 | 不同包下的无关类 |
|---|---|---|---|---|
| private | √ | |||
| 空着不写 | √ | √ | ||
| protected | √ | √ | √ | |
| public | √ | √ | √ | √ |
权限修饰符的使用规则
实际开中,一般只用 private 和 public
- 成员变量私有
- 方法公开
特例:如果方法中的代码是抽取其他方法中共性代码,这个方法一般私有