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

java - static - final

2016-03-19 22:23 344 查看


static关键字

[java] view
plain copy

修饰属性:静态成员变量  

修饰方法:静态方法  

  

静态成员变量:无论一个类生成了多少个对象,静态成员变量只有一份,  

    一个对象对静态成员变量进行修改,其他对象对该静态成员变量的值也变化  

静态成员方法:静态方法只能继承不能重写,子类是把父类的静态方法隐藏了  

  

静态成员:  

    是属于类的,不属于任何对象  

    因为静态成员是属于类的,所以当类加载完成之后就可以访问了  

    静态成员不能使用this来调用  


final关键字

[plain] view
plain copy

修饰类:终态类  

修饰属性:终态属性(常量)  

修饰方法:终态方法  

  

终态类:不能被继承  

终态属性(常量):  

    如果基本类型是值不能改变,如果引用类型是指向那一个对象不能改变  

        例如我们可以修改对象里面的成员变量  

终态方法:不能被重写  

  

终态属性系统不会默认值,而要求构造器完成之前必须初始化  

    可选时机一,声明时初始化  

    可选时机二,非静态语句块中初始化  

    可选时机三,构造器中进行初始化  

终态局部变量初始化值的时间只要在使用值之前就行  


静态终态成员变量

[java] view
plain copy

初始化要求必须在静态语句块结束之前完成  

初始化时机  

    可选时机一,声明时初始化  

    可选时机二,静态语句块中初始化  


static代码块

[java] view
plain copy

静态代码块先于构造方法执行的  

    因为定义一个类之后,类会生成一个class文件放在硬盘上,  

        再先将class文件从硬盘加载到JVM上,再使用JVM处理它再生成对象  

    静态代码块是类加载的时候执行  

    构造方法是生成对象的时候执行  

不管类生成多少对象静态代码块只执行一次  

先执行父类静态代码块再执行子类静态代码块  

静态代码块作用完成一些初始化工作  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java