包
- 将具有相同功能或者相似特性的java类封装起来便于管理,这个java类的集合就是包,不同包下的类想要互相使用就得受到访问权限控制关键字的约束。
- 导包:显示说明要使用的java类从哪来:import关键字
访问权限
- 根据类属性对外开放程度的不同,java将访问权限通过四个关键字来限定:private , default , protected , public。这几个关键字修饰下的类有如下特点:
- private :只对本类开放,只能在自己类内部使用,类外用不成,即对象调用不了。
- default:对本类和本包下的类开放,可以通过new对象进行调用,其他包的类用不成。
- protected:在default的基础上开放了一点,除了自己类,自己包下的其他类外,还对其他包下的继承了它的这哥们的子类开放,虽然我们不同包,但你是我儿子,我可以给我儿子用。道理也简单,从父类继承下来,当然能用。但要注意的是,new的要是子类对象才能调用该属性,否则new父类调用相当于不同包下的陌生人访问,是访问不了的。
- 完全开放
static关键字
- 静态修饰的属性,类一加载进内存,就存在于内存的方法区中,可以通过类名点直接调用。
- 非静态成员函数可以直接用静态成员,但静态成员函数不能调用非静态成员,道理也很简单,非静态成员都有 **this.**修饰,只有new对象出来,this才有值,而静态成员一加载进内存就存在了,当让不能用非静态成员。
- 静态代码块:类一加载就进内存执行的代码块,且只加载一次。和是否new对象没有关系。
final关键字
- final关键字修饰的类不能被继承
- final修饰的变量只能赋值一次,不能再被修改
- final修饰的函数不能被重载,不能被复写