类属性和类方法

Posted snzd9958

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类属性和类方法相关的知识,希望对你有一定的参考价值。

当一个属性、方法被static修饰的时候,就叫做类属性、类方法,又叫做静态属性、静态方法 。
没有被static修饰的属性,就叫对象属性、对象方法,又叫实例属性、实例方法和非静态属性、非静态方法。

  当一个属性被声明成类属性,那么所有的对象,都共享一个值,所有对象都可以修改这个值,一经修改前面的值将会被丢弃。
  而对象属性,每个对象的对象属性的值都互不影响,修改一个对象的对象属性,另一个对象的对象属性不变。

访问类属性有两种方式,访问即修改和获取。
  1. 对象.类属性/类方法

  2. 类.类属性/类方法

  访问一个对象方法,必须建立在有一个对象的前提的基础上 。
  访问类方法,不需要对象的存在,直接就访问。

什么时候使用对象属性、对象方法,类属性、类方法?

  如果一个属性每个对象都不同,例如 :name,就是用对象属性。

  如果一个属性每个对象都共用,例如 :head,每个人都有四肢和头部,就用类属性。

  如果一个方法内,调用了对象属性,就使用对象方法;反之没有调用对象属性,就可以考虑使用类方法。

 

属性初始化:

对象属性初始化

  1.声明该属性的时候初始化

  2.在构造方法中初始化

  3.初始化块:

  public class Hero{

    int    hp;

    {

      hp  =  500;

    }

  }

类属性初始化

  1.声明该属性时初始化

  2.静态初始化块

 

  public class Hero{

 

    static{

 

      hp  =  500;

 

    }

 

  }

属性初始化的顺序为

  1、声明变量的时候的初始化

  2、初始化块

  3、构造函数初始化

  所以建立一个新的对象的时候,其属性最终应该是构造函数中的赋给的值

 





以上是关于类属性和类方法的主要内容,如果未能解决你的问题,请参考以下文章

新手入门学Python基础—多态类属性和类方法

python 类属性和类方法

Python面向对象 --- 新旧式类私有方法类属性和类方法静态方法

Python类属性和类方法

类属性和类方法

面向对象中对象和类以及如何访问类中属性和方法