java基础-static
来源:互联网 发布:android精彩编程200例 编辑:程序博客网 时间:2024/06/05 13:27
如果一个面试官让你解释static关键字,你告诉他static可以修饰属性、方法和内部类,以及修饰之后又有什么效果的话,那么面试官基本上不会记住你这个回答,整个印象就是平庸。
但是如果你说完以后,补充一下说道,你曾经遇到过一个内存泄漏的问题,就是因为static修饰的一个Map类型的变量导致的,最后排查了堆栈信息找到了问题的所在,并且解决了这个问题。那么,面试官这个时候内心中对你的印象,就会不自然的提升几分。
而且,对于static,更深入的理解是,static会将所引用的属性、方法以及内部类,与类直接产生引用关系,而非与类的实例。这就是为什么,你可以使用类名.属性、类名.方法以及类名.内部类名,来直接引用一个被static所修饰的属性、方法或者内部类。
如果你没有用static修饰,那么你就必须使用实例才能引用这些方法、属性或者是内部类,最典型的就是内部类。相信很多同学都好奇过,为什么一个没有被static修饰的内部类,必须要这么声明。
OutterClass.InnerClass innerClass = new OutterClass().new InnerClass();
因为你没有使用static修饰InnerClass,所以你必须new出来一个OutterClass的实例,才能在此基础上new出内部类的实例,因为内部类只能通过外部类的实例才能引用。如果你使用了static修饰,那么你就可以这样使用内部类。
OutterClass.StaticInnerClass staticInnerClass = new OutterClass.StaticInnerClass();
这两种方式最大的区别就是,第一种方式,如果你想要获得InnerClass的实例,你必须有一个OutterClass的实例,所有其实这种方式你创建了两个实例,所以有两个new关键字。而第二种方式就好理解一些,静态内部类不依赖于外部类的实例存在,因此只需要直接创建内部类的实例就可以了,所以只有一个new关键字。
- java 基础 static 关键字
- java基础--static详解
- Java基础-关键字static
- java static 基础
- java基础-static关键字
- java基础---static关键字
- java基础---static关键字
- java 基础static关键字
- Java基础---static关键字
- java-基础-static
- java基础2--static
- java 基础 - 静态 static
- java 基础 static关键字
- Java基础之static
- 【Java基础】 static
- Java 基础---static
- Java基础--static关键字
- java基础-static
- webrtc 学习博客
- mac版idea报错:Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8
- 网络传输协议中的和校验函数
- Android WebView使用总结
- 详解Mysql查询今日、昨天、本月、上个月、去年今天、最近几天的数据
- java基础-static
- Html.TextBoxFor需要注意字符空值和NULL的问题.
- 获取二维数组中的元素(PHP 5.5新增函数),兼容低版本处理
- linux 下shell编程之for循环
- 测试开发-RESTful 架构详解
- 物理层的基本概念
- MyEclipse 8.5的优化,加快打开打开和编辑的速度
- 关于log4j2 RollingRandomAccessFile记录日志问题
- Redux中的bindActionCreators