目录
1、包(Package)
1.1、包的概述和使用
包(Package)其实就是文件夹,作用是对类进行分类管理。
包的定义格式:
格式:package 包名; //多级包用 . 分开
范例:package myPackage;
1.2、带包的Java类编译和执行:
1)手动建包:
- 按照以前的格式编译java文件,如 javac HelloWorld.java
- 手动创建包,如在E盘建立myPackage文件夹
- 把class文件放到包的最里面,如把 HelloWorld.class文件放到myPackage文件夹下
- 带包执行,如java myPackage.HelloWorld
2)自动建包:
- javac -d . HelloWorld.java
- java myPackage.HelloWorld
2、导包(import)
使用不同包下的类时,使用的时候要写类的全路径,写起来太麻烦了,为了简化带包的操作,Java就提供了导包的功能。
2.1、导包的格式
格式:import 包名.类名;
范例:import myPackage.Student;
3、修饰符
3.1、权限修饰符
修饰符 | 同一个类中 | 同一个包中子类/无关类 | 不同包的子类 | 不同包的无关类 |
---|---|---|---|---|
private | √ | |||
默认 | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
3.2、状态修饰符
3.2.1、final修饰符
final关键字可以修饰成员方法,成员变量,类。
final修饰的特点:
- 修饰方法:表明该方法是最终方法,不能被重写。
- 修饰变量:表明该变量是常量,不能再次被赋值。
- 修饰类:表明该类是最终类,不能被继承。
final修饰局部变量:
- 变量是基本类型:final修饰指的是基本类型的数据值不能发生改变。
- 变量是引用类型:final修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的。
3.2.2、static修饰符
static关键字可以修饰成员方法、成员变量。
static修饰的特点:
- 被类的所有对象共享(这也是我们判断是否使用静态关键字的条件);
- 可以通过类名调用,也可以通过对象名调用(推荐使用类名调用)。
非静态的成员方法:
- 能访问静态/非静态的成员变量;
- 能访问静态/非静态的成员方法。
静态的成员方法:
- 能访问静态的成员变量;
- 能访问静态的成员方法。
总结成一句话就是:静态成员方法只能访问静态成员。