本系列博客是韩顺平老师java基础课的课程笔记,B站:课程链接,吐血推荐的一套全网最细java教程,获益匪浅!
韩顺平P333-P393
- 类变量和类方法
- 类变量/静态变量
- 类方法/静态方法
- 理解main方法语法
- 代码块
- 注意事项
- 好处
- 细节
- 单例设计模式
- 饿汉式
- 懒汉式
- 饿汉式VS懒汉式

语法:访问修饰符 static 返回类型 方法名() {} 或者把static放在最前面
访问方法:可以通过类名.类变量名 或者是对象名.类变量名来访问 (前提是满足访问修饰符的访问权限和范围)
经典使用场景:当方法中不涉及到任何和对象相关的成员,则可以将方法设计成静态方法,这样我们不需要创建对象就可以使用了,提高开发效率(比如说工具类方法:打印一维数组,冒泡排序等)
细节(静态方法与普通方法的关系)
练习题


public static void main(String[] args)
main方法是java虚拟机在调用,所以它的访问权限必须是public
java虚拟机在执行main()方法时不必创建对象,所以它的方法必须是static
该方法接受String类型的数组参数,该数组中保存执行java命令时,传递给所运行的类的参数
args是在java执行程序时通过命令行传入的 (java Hello tom jack smith)

main方法中,可以直接调用main 方法所在类的静态方法和静态属性;但是不能直接访问该类中的非静态成员,必须创建一个该类的实例对象后,才能通过这个对象去访问非静态成员
相当于另外一种形式的构造器(对构造器的补充机制),可以做初始化的操
如果多个构造器中都有重复的语句,可以抽取到初始化块中,提高代码的重用性

代码块的调用优先于构造器
类在什么时候被加载?

普通代码块与静态代码块的调用

总结
创建一个对象时,在一个类中的调用顺序是

构造器中隐含了本类普通代码块的调用

创建一个子类对象时,(静态)代码块,(静态)属性初始化,以及构造器的调用顺序
练习题
设计模式(23种):设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。
单例模式: 采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法
