本帖最后由 仙兒哥 于 2013-4-10 02:26 编辑
1.static
static是一个修饰符,它可以修饰类成员
修饰成员属性 ---->类属性 静态属性
1.使用static修饰的属性它属于这个类的所有对象所共享,它不在属性对象. 也就是说static修饰的属性不在对象的堆内存中。 2.static属性它是随着类的加载而加载的。 static修饰的属性可以理解成它属于类了,不在属于对象,那么我们使用时 就可以直接使用类名去调用,而不需要对象。 3.对于static 属性我们在调用时可以使用 对象调用也可以通过类名调用。
什么时候使用static修饰属性
当前属性描述的是类的相关信息而不是对象的,或者这个属性是所有对象所共享的 这个时候就可以使用static来修饰属性.
类属性与实例属性区别
class类名 { 成员属性:细划分2种类型:1.类属性(用static修饰的)2.实例属性(没有被static修饰的) 成员方法: } 1.生命周期:实例属性的生命周期与对象相同 类属性生命周期与类相同。 2.内存: 实例属性在堆放内存 类属性是在方法区的静态区内。 3.使用: 实例属性必须通过对象(引用)调用 类属性还可以通过类名调用 。 4.共享: 每一个对象都有自己的实例属性 所有对象共享类属性。
修饰成员方法------->类方法(静态方法)
class类名 { 成员属性 方法:1.类方法(static)2.实例方法(没static)3.构造方法 }
1.类方法它是随关类的加载而加载. 2.类方法在使用时可以通过类名去调用.
▲▲▲▲▲static方法使用的注意事项:
1.static方法内不能使用非static成员。//错误: 无法从静态上下文中引用非静态 2.static方法内不能使用this super关键字
在实例方法内是否可以使用static成员 可以直接使用static成员。
static方法什么时候使用?
1.如果当前static方法内没有使用实例属性,那么这个方法应该是static .
2.如果当前类是一个工具类,它中的方法是完成某个操作,不涉及当前类的相关操作。
在实际开发中我们操作static属性 static 方法在调用时一般都是使用 类名.类属性 类名.类方法.
static的优点:可以节省资源 static弊端: 生命周期长 就用时不能操作实例属性.
class类名{
成员属性:1.类属性(static) 2.实例属性(没有用static修饰)
方法: 1.类方法(staitc) 2.实例方法(没有用static修饰) 3.构造方法 }
类方法,实例方法,构造方法区别
格式: 类方法 使用static修饰 修饰符 static 返回值类型 方法名(参数){} 实例方法 不用static修饰 修饰符 返回值类型 方法名(参数){} 构造方法 权限修饰符 类名(参数){}
使用: 类方法 引用(对象).类方法 类名.类方法 实例方法 引用(对象).实例方法 构造方法 不能被调用 创建对象时自动被调用。
|