`
ml5858258
  • 浏览: 746 次
  • 性别: Icon_minigender_1
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

初学java final static 关键字总结

阅读更多
Final和static关键字总结


初学java,刚刚接触到这两个关键字,经过一番的纠结之后,把他们的用法总结了下,希望对广大java初学者有用。。。

Final和static相比起来,相对容易掌握些。
Final用来修饰变量、方法以及类、接口。修饰变量时可是认为这个量为常量,不能被第二次赋值。修饰方法是表示,此方法不能被重写,修饰类和接口是表示,此类和接口为最终类/接口不能被继承。。。。。。。。。。。了解了这么几个概念,我们也就大概掌握了final的用法了。




下面说比较让人纠结的static的用法
一、 用于修饰变量(属性)
用static修饰的变量和对象也叫类变量
我们可以这么理解,一般的变量,在初始化时每个对象都得到对应的变量,每一个对象都拥有自己专属的变量
而类变量并不属于任何一个对象,它是大家共有的,只要一个对象使用他使它改变,另一个对象调用它使,它的值为 上次被调用改变后的值。。。。因此,类变量一般常常用类名直接调用。。。。。
还有一点要强调的是,类变量如果定义在方法 外,则他要优先于main方法执行。。例如
Static A a=new A();这个静态对象优先于main执行,执行的是他的构造器。。若A继承一个类则在执行A构造器之前会优先执行A父类的构造器。。。。

二、 用于修饰方法
这个时候这个方法也叫类方法,和类变量相似,它也可以由类名直接调用。对象们公有这个方法。。。。。。
类方法有一点不同于类变量,他不会优先于main方法执行。。。。
同时,类方法中是不能有this的。。这就是为什么我们在主方法中掉用其他方法之前要定义主类的对象了。。。。。。。。


三、 静态语句块
静态语句快的格式
Static{


}
要注意的是静态语句块中可以执行调用类中的方法,可以定义变量,但是不可以定义方法。。
另外,静态语句块也是会优先于main执行的。。。
4
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics