知识点汇总
static的作用:
- 创建属于该类的成员属性或者方法,而不是属于该类的对象的,以致于可以在不创建该类的实例情况下,调用相应的方法;
- 被static修饰的成员变量、方法被该类的实例对象所共享;
- 随着类的加载而加载,优先于对象存在,而且只有在内存中加载一次,这样有利于优化程序的性能,避免重复的加载一些资源;
- 在static方法中,不能使用this关键字,因为它不是属于哪个对象的;
- 静态的方法只能访问静态的方法或者变量,非静态的既可以访问静态的也可以访问非静态的变量、方法。
应用场景:
-
一些只需要在类中进行一次初始化的操作,可以使用静态代码块,像我以前封装一个Jdbc的工具类,在静态代码块中将url,username.password等内容抽取出来用于初始化,然后定义了一个getConnnection()方法就可以直接获取一条操作数据库的连接,而这些没必要每次调用getConnnection()方法都去做;
-
或者对象实例之间共享的变量方法、方法,可以使用static修饰。
总结:主要就是个随着类的加载而加载且只加载一次;被static修饰的变量、方法,该类的实例对象都共享,还有一个被static修饰的变量、方法不属于对象,而是属于该类,所以也不存在被继承、重写的可能。