首页 / JAVA / java关键字---static
java关键字---static
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java关键字---static,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2502字,纯文字阅读大概需要4分钟。
内容图文
本篇浅析java中static的用法,主要五个方面:静态成员变量,静态方法,静态块,静态内部类,静态导包。
首先还是一张表格说一下静态对象和非静态对象的区别:
静态对象 | 非静态对象 | |
归属 | 类共同具有 | 类的各个实例独立拥有 |
内存分配 | 内存空间上固定的 | 附属类分配 |
分配空间顺序 | 优先分配静态对象空间 | 优先分配静态对象空间,初始化也一样 |
1 静态变量,静态方法,静态块
public class StaticExercise { public static String sky="jeyson"; public static String getMySky(String sky){ return sky; } static { System.out.println("这是静态块中的内容--"); System.out.println("静态块:"+getMySky(sky)); } /** * ***静态对象好处: * 1--静态对象的数据是全局唯一的,一改都改,可以保证数据唯一。 * 2--引用方便,直接类名.方法就行了,不用set和get * ***分配空间顺序: * 先分配静态对象空间再分配非静态。初始化顺序也是这样 * ***static final 修饰的成员变量和成员方法可以理解为全局变量(java中没有全局变量概念) * ***静态对象,方法,块的限制: * 1--只能调用其他的static方法 * 2--只能访问static数据 * 3--不能以任何方式引用this或super * 静态对象测试 */ @Test public void testStatic1(){ System.out.println(sky); System.out.println("-----------------"); System.out.println(getMySky(sky)); System.out.println("-----------------"); System.out.println(StaticTest.getSms()); } }
2 静态内部类
class StaticTest{ public static String sms="to my sky"; public static String getSms(){ return sms; } /** * 静态内部类 * ***使用场景: * 内部类跟外部类联系紧密,一般只有用到外部类的时候才会用到这个类 * ***使用 * 随类一同被加载,直接外部类.内部类.静态对象(方法) */ static class InnerStatic{ public static final String MYSKY="MY FINAL SKY"; } }
@Test public void testStatic2(){ System.out.println(StaticTest.InnerStatic.MYSKY); }
2 静态导包
public class MyStaticImportTest { public static final int number=55; public static void getMyWords(){ System.out.println("hello ,这是一个静态导包的测试"); } }
import static com.generic.MyStaticImportTest.number; import static com.generic.MyStaticImportTest.getMyWords; /** * @Description: * 静态 */ public class StaticExercise { /** * 静态导包 * ***使用方法: * 直接静态导入相应的变量和方法:(import static 包名.类名.静态成员变量(方法) * import static com.generic.MyStaticImportTest.number; * import static com.generic.MyStaticImportTest.getMyWords; * *** 好处: * 被导入的静态方法和变量在这个类中直接可见,无需再给出类名 * *** 坏处 * 一定程度上降低了代码的可读性 */ @Test public void testStatic3(){ //静态导入后可以直接用 int myNumber=number; getMyWords(); } }
原文:http://www.cnblogs.com/jeyson/p/5596167.html
内容总结
以上是互联网集市为您收集整理的java关键字---static全部内容,希望文章能够帮你解决java关键字---static所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。