标签: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