Java 类的特性2
类属性、类方法的设计思想
- 类属性作为该类各个对象之间共享的变量。在设计类时,分析哪些类属性不因对象的不同而改变,将这些属性设置为类属性。相应的方法设置为类方法。
- 如果方法与调用者无关,则这样的方法通常被声明为类方法,由于不需要创建对象就可以调用类方法,从而简化了方法的调用
关键字–static
1、使用范围:
- 在Java类中,可用static修饰属性、方法、代码块、内部类
2、被修饰后的成员具备以下特点:
- 随着类的加载而加载
- 优先于对象存在
- 修饰的成员,被所有对象所共享
- 访问权限允许时,可不创建对象,直接被类调用
类变量(class Variable)
类变量(类属性)由该类的所有实例共享
public class Person {private int id;public static int total = 0;public Person() {total++;id = total;}}
类方法(class Method)
- 没有对象的实例时,可以用类名.方法名()的形式访问由static标记的类方法。
- 在static方法内部只能访问类的static属性,不能访问类的非static属性。
- 因为不需要实例就可以访问static方法,因此static方法内部不能有this。(也不能有super? YES!)
- l重载的方法需要同时为static的或者非static的。