类变量(静态变量):有static修饰,属于类,在计算机中只有一份,被类的所有对象共享
实例变量:无static修饰,每个对象中的实例变量均独立
执行原理:
02、面向对象高级一:static修饰成员变量、类变量应用场景_哔哩哔哩_bilibili

类方法(静态方法):有static修饰,属于类
实例方法(对象的方法):无static修饰,属于对象
实例方法中既可以访问类成员,也可以访问实例成员。而类方法中只能访问类成员(类成员包括类方法和类变量),不能访问实例成员,也不能出现this关键字
使用类方法作为工具类会提高代码复用和开发效率,并且避免浪费内存
案例:一个页面需要四位验证码,一个界面需要六位验证码,写一个类方法,参数是验证码的位数。
静态代码块
实例代码块
执行顺序:静态代码块-实例代码块-构造器
设计模式:解决某个问题的最优解法
单例设计模式概念:确保一个类只有一个对象
**饿汉式单例设计模式特点:**在获取类的对象时,对象已经创建好了
饿汉式单例设计模式写法:
- public class mjz {
-
- // 定义一个类变量记住类的一个对象
- private static mjz instance = new mjz();
- // 定义一个私有的构造函数
- private mjz() {
-
- }
- // 定义一个类方法,返回类对象
- public static mjz getInstance() {
- return instance;
- }
-
-
- public static void main(String[] args) {
- mjz obj1 = mjz.getInstance();
- mjz obj2 = mjz.getInstance();
- mjz obj3 = mjz.getInstance();
- System.out.println(obj1==obj2);
- System.out.println(obj2==obj3);
-
- }
-
- }
饿汉式单例设计模式应用场景
饿汉式单例设计模式好处
**懒汉式单例设计模式特点:**拿对象时,才开始创建对象
懒汉式单例设计模式写法
将类的构造器私有
定义一个类变量用于存储对象
提供一个类方法,保证返回的是同一个对象
- public class mtk {
-
- // 定义一个类变量用于存储对象
- private static mtk instance;
- // 定义一个私有的构造函数
- private mtk() {
-
- }
- // 定义一个类方法,保证返回的是同一个对象
- public static mtk getInstance() {
- if (instance == null) {
- instance = new mtk();
- }
- return instance;
- }
-
- public static void main(String[] args) {
- mtk obj1 = mtk.getInstance();
- mtk obj2 = mtk.getInstance();
- mtk obj3 = mtk.getInstance();
- System.out.println(obj1==obj2);
- System.out.println(obj2==obj3);
- }
- }