您的位置:首页 > 编程语言 > Java开发

面向对象-类成员

2018-03-24 16:47 86 查看
static修饰的成员就是类成员。
static关键字不能修饰构造器。static修饰的类成员属于整个类,不属于单个实例。
static可以修饰成员变量,方法,初始化块,内部类(包括接口,枚举)。
类变量属于属于整个类,当系统第一次准备使用该类时,系统会为该类变量分配内存空间,类变量开始生效,直到该类被卸载,该类的类变量所占有的内存才被系统的垃圾回收机制回收。变量生存范围几乎等于该类的生存范围。当类初始化完成后,类变量也被初始化完成。
null对象可以访问它所属类的类成员。public class NullAccessStatic{

private static void test(){
System.out.printl("static修饰的类方法");
}
public static void main(String[] args) {
NullAccessStatic nullAccessStatic = null;//定义一个NullAccessStatic变量,其值为null
nullAccessStatic.test();//使用null对象调用所属类的静态方法
}
}编译,运行上面的程序,一切正常,程序将打印出“static修饰的类方法”字符串,这表明null对象可以访问它所属类的类成员。
对于static关键字,有一条非常重要的规则:类成员(包括方法,初始化块,内部类和枚举类)不能访问实例成员(包括成员变量,方法,初始化块,内部类和枚举类)。因为类成员是属于类的,类成员的作用域比实例成员的作用域更大。完全可能出现类成员已经初始化完成,但实例成员还不曾初始化的情况,如果允许类成员访问实例成员将会引起大量的错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐