一,实例变量的特性
实例变量每个对象都有自己的一份拷贝
二,静态变量的特性
静态变量是所有实例共享的,所有实例都可以访问,所有实例都可以改变它
三,实例方法的特性
实例方法只能通过实例来访问,不能通过类名称直接访问,而且实例方法可以访问静态方法,也可以访问静态变量,因为静态方法和静态变量是共享的,但反过来,静态变量和静态方法不能访问实例方法和实例变量
四, 静态方法的特性
静态方法跟静态变量一样可以通过类名称直接访问。但静态方法不能访问实例变量和实例方法,因为实例变量和实例方法属于某个对象,静态变量和静态方法访问他们的时候可能改对象不存在,而且静态方法中不能使用self关键字。
五,何时使用静态方法,何时使用实例方法
当该方法需要方法实例变量时,则该方法需要声明为实例方法;某一类的实例通常会有一些成员变量,这些成员变量包含该实例的状态信息,如果需要改变实例的状态信息时,则需要声明实例方法;静态方法则正好相反,它不需要访问成员变量,不需要改变状态信息,则该方法声明成静态方法。