设计对象来处理数据解决问题
一.变量
1.定义:
1.static叫静态,可以修饰成员变量,成员方法
2.修饰为类变量:类内共享,内存只有一份,会被所有共享
3.无修饰为实例变量:每个对象持有
2.用法
1.类变量
栈内存,在main方法里 类名访问,只有一份
2.实例变量 各自对象访问对象
二.方法
- 1.类方法(静态方法) 2static修饰的成员方法 访问推荐方式:类名.类方法
2.实例方法(对象的方法) 对象.实例方法 无法用类名访问
类在方法区,对象在栈内存,指向堆内存,再去方法区寻找,
main方法
类方法 类名调main方法实行
三.应用场景
1.类方法
设计工具类好处:
- 提高代码复用性
- 调用方便,提高开发效率
为什么工具类中的方法要用类方法,而不用实例方法?
- 实例方法需要创建对象来调用,此时的对象只是为了调用方法,对象占用内存,会浪费内存
- 而类方法可以直接类名调用
- 调用方便,也省内存
多学一招:工具类定义要求
工具类没有创建对象的需求,建议把工具类的构造器私有,
四.注意事项
1.类方法可以直接访问类成员,不可以直接访问实例成员 2.实例方法可以直接访问类成员,也可以直接访问实例成员 3.实例方法可以出现this,类方法不可以出现this
五.代码块
1.静态代码块
- 格式:static{}
- 特点:类加载自动执行,类加载一次,只执行一次
- 作用:完成类的初始化,对类变量的初始化赋值
2.实例代码块
- 格式:{}
- 特点:每次创建对象时,执行实例代码块,并在构造器前执行
- 完成对象的初始化,对类变量的初始化赋值
- 减少重复代码的编写
六.设计模式
具体问题的最优解法
1.单例设计模式
-确保一个类只有一个对象(结扎)
--写法
- 把类的构造器私有
- 定义了一个类变量,私有,记住类的一个对象
- 定义一个类方法,返回对象
饿汉类的单例的特点 获取类的对象时,已经获取好了
--应用场景
任务管理器只有一个界面 可以避免浪费内存
2.懒汉式单例设计模式
拿对象时,才开始创建对象
--写法
- 把类的构造器私有
- 定义了一个类变量,存储一个对象
- 定义一个类方法,保证第一次调用时才会创建,后续使用都用第一个