目录
一、static
2️⃣ 实例代码块(了解即可,只需知道可以记录对象创建的日志)
一、static
1、static修饰成员变量
1️⃣概念
类变量计算机里只有一个(只初始化一次),实例变量每个实例都有一个
实例变量应该用对象访问,不可以用类名访问!!!因为计算机不知道你要访问的是哪个对象。
类变量应该用类访问,但是也可以用对象访问,但是不推荐!!
2️⃣成员变量的执行原理
2、static修饰成员变量的应用场景
类变量最好用public修饰,对外公开和共享
一旦用户new一个对象,就会自动调用对应的无参构造器。
3、static修饰成员方法
1️⃣概念
2️⃣成员方法的执行原理
!!【补充知识】搞懂main方法
main方法就是个类方法,计算机执行Test类的时候,虚拟机直接Test.main()来执行的,类名.类方法名()
main方法的参数:直接在执行java文件的时候填参数就可以了
4、static修饰成员方法的应用场景
5、static的注意事项
①因为实例成员属于对象,应该用对象来访问
②因为实例方法也是属于对象的,对象能访问到实例方法,说明已经创建了对象,也就可以访问对象里的实例变量。
③因为实例方法也是属于对象的,对象能访问到实例方法,说明this里面就有对应对象的地址了;但是当用户用类访问类方式时,根本没有对象对象。
6、static的应用知识:代码块
1️⃣静态代码块(了解,知道基本作用即可)
2️⃣ 实例代码块(了解即可,只需知道可以记录对象创建的日志)
实例代码块在工作中的实际应用:记录对象创建的日志
不用构造器记录对象创建的日志是因为,要区分有参和无参,两种构造器都要写相应的代码,但是把相应代码写在实例代码块就可以只写一次。
7、static的应用知识:单例设计模式
1️⃣什么是设计模式
设计模式就是具体问题的最优解法
2️⃣什么是单例设计模式、饿汉式单例
这是饿汉式单例
这样做确保类只有一个对象的的原因:①构造器私有了,外部类不能new对象了,所以只能用类名.类方法来得到对象。②类方法不管调用多少次,返回的都是同一个对象,因为类变量只会加载一次。
3️⃣单例模式的应用场景和好处
应用场景:
Runtime是单例模式:获取运行时的对象
电脑管理器也是单例模式:一台电脑只需要一个任务管理器的界面
好处:
在特定业务模式下,避免浪费内存
4️⃣单例设计模式的实现方式有多种、懒汉式单例
这样做确保类只有一个对象的的原因:①构造器私有。②只有第一次进入类方法的时候创建了对象,之后每次进类方法得到的都是第一次创建的对象。