一、包
包就是文件夹,用于管理不同功能的java类,方便管理,使得项目结构清晰,层次分明,井然有序
在java中,从上到下的构架是:项目-->模块-->包-->java类
二、final修饰符
final翻译过来就是最终的,顾名思义,就是不能更改
final可以修饰:类、方法、变量
修饰类:意为最终类,很号理解,不能被继承,不能有子类
修饰方法:意为最终方法,也很好理解,不能被重写(重写是子类相对于父类中的方法而言的)
修饰变量:意为最终变量,也就是不能被改变,只能被赋值一次,可以理解为常量,事实上我们也常用final关键字来修饰常量
应用场景:例如数学中的圆周率Π,java中就是用final修饰的,意为不能改变。
因此,final常用于修饰一些不能被改变的规则或者定律等
而对于常量的定义:
一般情况下,一个单词的全部大写;多个单词的也全部大写,单词之间用“_”(下划线)隔开
三、权限修饰符
权限修饰符,顾名思义,就是控制一个成员能被访问的范围
可以修饰成员变量、方法、构造方法、内部类
public————>protected———>空着不写(默认)————>private、
从左到右,权限依次减小
public:所有的类都能使用
protected:意为被保护的,对于继承于父类的,但是不是一个包的子类也可以使用
空着不写:意为默认,可以在一个包内调用
private:只能在本类内使用
四、代码块
分为局部代码块、构造代码块、静态代码块
局部代码块:
用{}括号括起来的就是局部代码块,作用是一旦变量出了这个范围,就会销毁,减小内存的消耗。这是以前的技术,原来的计算机内存很小,必须寸土必争,增加运行能力。说实话,为了增加运行也算是颇费一番心思了。但是,对于现在的计算机来说,内存动辄十几乃至几十G,对于一个变量的内存,不过是几个字节的消耗,对于如今来说不过是九牛一毛,不值一提,因此,这个技术也就慢慢淘汰了。
分享一个冷知识:你一定玩过这个游戏:大名鼎鼎的魂斗罗!他的大小只有128K!
惊喜吧?
构造代码块:顾名思义,就是写在javaBean的,用于将构造方法中重复的代码抽取出来,将之单独抽取出来写在一个代码块内。这个代码块写在成员变量后,优先于构造方法执行
但是有一个方法,就是不够灵活
为什么?这个构造代码块总是会优先执行,就是我们执行的时候一定会执行。
假设我们要写第三个构造方法,这个构造方法不需要这个构造代码块,但是当我们要调用第三个构造方法的时候依然会执行,这就大事不妙了。但是有办法吗?没有办法,因此称之不够灵活
不过这个技术也不常用,不需要太过于注意
静态代码块:
顾名思义,就是用static修饰的代码块
特点:随类的加载而自动加载,只执行一次
应用场景:常用于数据初始化的书写