- 类包:类包实际上是java程序管理非常有效的机制,每个类文件必须隶属于一个类包,这样有效的解决了类名冲突的问题,在使用类的时候只需要指定类的完整路径,就可以很便捷的找到我们想找到的类。
- 包名:com.demo.package类似的形式,必须在类文件的第一行,要求包名全部小写字母
- 包的导入:import关键字
import java.lang.*;
import static java.lang.Math.PI;
- final变量:用final关键字声明的变量即为常量,不可修改;当通过final生命对象时,对象指向的内存地址不会变化;final声明的变量命名采用大写字母用下划线连接 CODE_MESSAGE
public class FinalDemo{
final int VALUE_ONR = 6;
final int VALUE_TEO;
public void FinalDemo(){
VALUE_TWO = 8;
}
int do1(final int x){
return x+1;
}
int do2(){
final int num = 1;
}
}
- 全局常量:这里需要注意一点:final+static生命的常量,从一开始定义时就已经分配了相应的内存,不会再变化,哪怕重新初始化一个类
- final方法:final的方法在子类中不能被重写,如果定义了一个名称相同的方法,实际上只是子类自己的同名方法而已;另外就是final方法的执行效率高于不是final的方法
- final类:final类不能被继承,final类中的方法隐式的被定义为final方法,但是成员变量可以为非final的
- 内部类:在类中再定义一个类,内部类可以分为成员内部类、局部内部类和匿名类
- 成员内部类:
public class OutClass{
private int i = 1;
private void test(){
}
InClass inClass = new InClass();
public class InClass{
i++;
test();
}
public static void main(String[] args){
OutClass outClass = new OutClass();
OutClass.InClass inClass = out.new InClass();
}
}
- 局部内部类:定义在类的局部未知,例如类的方法中,但是局部内部类隶属于方法,不隶属于外部类,外部类不能访问内部类
- 匿名内部类:将return和内部类的定义放在一起
return new A(){
内部类体
}
- 静态内部类:在类加上static就是静态内部类,静态内部类可以声明静态成员;静态内部类不可以使用外部类的非静态成员