访问修饰符
- public
- 默认
- protected
- private
封装
set或get方法
- 能对属性的值进行整体的有效控制;
- 类的成员变量可以成为只读或只写;
- 用户不需要知道类的存储方法;
static
可选修饰符
修饰的静态属性
- 特点:与对象无关,与类有关
- 是在类加载期被产生,初始化;
- 常量属性直接写成public static final;变量属性要分析出全类共享一个值,才用;
- 修饰的静态属性或类属性:该属性为存放在对象身上,而是单独存放在数据段的静态区;
- 全类共享一个值;
- 访问方式是对象.属性或者类名.属性的方式访问;
修饰方法
- 特点:与对象无关,与类有关
- 修饰的静态方法或类方法里面不能有this,因为有可能是通过类名来调用,此时没有当前对象。
- 静态方法中只能调用到静态属性和方法,不能调用非静态的属性和非静态的方法;
- 非静态的方法可以调用静态和非静态的方法;
- 调用的原因是在类加载期被优先加载;
- 只有在工具类的工具方法时,才将该方法设计为静态方法;
静态初始化块
位置:在属性之后,构造器之前
静态初始化块
语法:
static{ }
在类加载器执行;
- 一个类被加载一次;
实例化块:
- 产生对象时被调用,
在构造方法初始化之后,在构造方法执行程序员书写代码之前
语法
{ 代码 }
内部类
- 独立的一个类;
- 同样需要编译
- 同样可以产生对象;
成员内部类
- 有访问修饰符,控制能否在本内之外使用
- 可以有属性,初始化块,构造,方法,但不能是Static(因为与外部类的对象有关)
- 可以操作外部类的属性和方法,不管是不是static
局部内部类
- 无访问修饰符,只能在本方法中使用;
- 可以有属性,初始化块,构造,方法,但不能是Static(因为局部内部类与对象和类无关)
- 局部类的方法中可以操作外部类的属性和方法,也可以static
静态内部类
- 静态内部类的方法,只能操作外部类的Static属性和行为;
匿名内部类
- 在new对象的时候,才去定义有哪些属性和方法
- 只能用一次
使用方法
- 首先,产生外部类对象
- 然后,用外部类对象.new的方式产生内部类对象