静态方法: 使用static修饰的方法
- 随着类的加载而加载,可以通过类名.静态方法名的方式进行调用
- 类:静态方法(yes),非静态方法(no)
对象:静态方法(yes),非静态方法(yes) - 静态方法中:只能调用静态的方法和属性
非静态方法中:既可以调用静态的方法和属性,也可以调用非静态的方法和属性
注意:在静态方法中不能使用this,super关键字
属性和方法是否应该static?
如何确定一个属性是否应该声明为static?
比如编写一个类实现银行账户,属性中的账号,密码,存款余额不要用static修饰,因为每个对象的都是不一样的,利率大家都一样,所以可以用static修饰
总结: 属性如果不会随着对象的不同而不同,可以被所有对象共用一个,就可以用static修饰
如何确定一个属性是否应该声明为static?
如果一个属性静态,那get,set方法通常也静态,(也不是说一定要写成静态,因为非静态方法中也可以调用静态属性,调用的时候就要通过对象 )
总结:
1)操作静态属性的方法通常也都静态,使得生命周期相同,调用的时候更方便
2)写工具类时,工具类(如Math,Arrays等等)中的方法习惯上声明为静态方法,因为没有必要造对象(造对象才能调用非静态的方法)去调用。