* 类的三个主要成员 属性 、方法 、构造器
* 类的第四个成员 , 初始化块 [代码块] 初始化类的属性
*
* 代码库如果有修饰的话 只能用 static
*
* 静态代码库 static{ }
* 非静态代码库 { }
*
* 代码块 有静态代码块, 和非静态代码块 , 给类的属性赋值 ,
* 可以有输出语句
* 一个类中可以有多个代码块, 代码块顺序执行。
*
*
*
*
*
* 关于属性的赋值操作。 几种赋值方式 : 默认初始化 ,显示的初始化 或 代码块初始化(此处两个结构顺序执行) ,构造器中初始化 , 通过set方法对属性进行修改。
*
*
/**
* static 关键词 修饰类的属性 方法 , 内部类 、代码块
* 实例变量 ----
* static 修饰的为 类变量 , 随着类的加载而产生,不用类的实例化 即可调用。
* 类变量 在内存中 存放在 静态域中 , 所有的实例 共用一份。
*
* 非静态方法 可以调用静态的变量 和方法 。 静态方法和静态变量 随着类的加载而产生,比实例对象产生的时间早 ,销毁晚。
*
* 静态 static 属性和方法 比 非静态的 属性和方法 生命周期长 , 所以 ,静态方法 不可以调用 实例变量和 非静态的方法 。
*
* 而 非静态的方法 和 构造器 可以调用 静态变量 和 静态方法。
*
* 类名 可以直接调用 静态变量和静态方法。
* 实例化对象也 可以调用静态方法和静态变量 。
/**
* 静态代码块
*
* 静态代码块 随着类的加载而加载,只能被加载一次 。
* 静态代码块早于构造器的执行。
* 静态代码 早于非静态的代码块
*
* 静态代码块之间 顺序执行。
* 静态代码块中只能执行 静态属性 静态方法 , 不能调用非静态的。
*
*
* 类的执行过程, 加载类后 ,先加载所有的静态内容, 静态属性 ,静态方法,静态代码块。 再加载非静态的属性,方法等。
/**
* 设计模式
* 单子模式 单例模式
* 单例模式 使得一个类 只能够创建一个对象。 【饿汉式 】 ------->[上来就new出对象。 等待以后调用 。]
*
* @author Administrator
* 1、构造方法私有化 ----------使类的外部不能调用构造方法
* 2、在类的内部创建一个实例 --------
* 3、私有化此对象 通过公共方法来调用。
* 4、此公共方法,只能通过类来调用,设置为static ,同时实例变量 设置为静态。
* (饿汉式 )
*/
/**
* 单例设计模式 【懒汉式】
* @author Administrator
*
* 调用时 再创建, 行为懒散。【什么时候用, 什么时候创建,比较懒】
/**
* final 修饰类、属性、方法 表示最终
* @author Administrator
* final 修饰类 。类不能被继承
* final 修饰方法 ,方法不能被重写。
* finla 修饰属性, 属性为一个常量。 常量 一般用大写字符表示。
* 常量赋值 ,常量不能使用默认初始化,可以对属性进行显式赋值。
* 常量一旦初始化后 不能在被赋值。
* 常量 不能使用默认初始化,可以使用显式赋值 、代码块 、构造器中赋值 。
* 变量用static final 修饰 被称为 全局常量 。
/**
* final 修饰的变量赋值之后 不能被更改。