一、静态方法static和 非静态方法的区别:
方法分为三种:
1.构造方法(主要用来创造对象)
2.非静态方法(普通方法/实例方法)
3.静态方法(类方法)
静态方法:是使用static关键字修饰的方法,又叫类方法.属于类的,不属于对象, 在实例化对象之前就可以通过类名.方法名调用静态方法。
注:一句话概括,静态方法可以调用用static修饰的方法和变量,其余的不行,包括用super和this关键字。
静态方法优点:
1.属于类级别的,不需要创建对象就可以直接使用;
2.全局唯一,内存中唯一,静态变量可以唯一标识某些状态;
3. 在类加载时候初始化,常驻在内存中,调用快捷方便(同时也对应了缺点);
静态方法主要应用场景:
应用场景:
1. 静态方法最适合工具类中方法的定义;比如文件操作,日期处理方法等;
2. 静态方法适合入口方法的定义;如单例模式,因为从外部拿不到构造函数,所有定义一个静态的方法获取对象非常有必要;
3. 静态变量适合全局变量的定义。(如布尔型静态成员变量做控制符)