码迷,mamicode.com
首页 > 其他好文 > 详细

类属性和类方法

时间:2018-07-24 23:51:09      阅读:320      评论:0      收藏:0      [点我收藏+]

标签:strong   调用   初始化块   基础   col   head   nbsp   直接   对象属性   

当一个属性、方法被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、构造函数初始化

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

 

类属性和类方法

标签:strong   调用   初始化块   基础   col   head   nbsp   直接   对象属性   

原文地址:https://www.cnblogs.com/snzd9958/p/9363228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!