Java中类、方法声明为静态的含义
2016-03-18 17:03
211 查看
这个静态类问题从俩个方面很好的就能够理解:
1、静态的特性
静态是不需要建立对象而直接进被虚拟机放入方法区(三大区:栈内存、堆内存、方法区)
2、类如何被使用
类被使用的前提就是有已经被建立的对象
通过上面两点综合去理解
静态类就是当程序一旦被执行,静态类直接被放入方法区,可以直接通过类名进行调用,而不需要建立类的对象。
静态方法使用上来说,主要有3点区别:
1、在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
2、静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。
3、程序的static块只能调用静态方法,不能调用实例的方法。
如果要追溯其区别的根源,可以这样理解:在编译期间静态方法的行为就已经确定,而实例方法只有在运行期间当实例确定之后才能确定。
1、静态的特性
静态是不需要建立对象而直接进被虚拟机放入方法区(三大区:栈内存、堆内存、方法区)
2、类如何被使用
类被使用的前提就是有已经被建立的对象
通过上面两点综合去理解
静态类就是当程序一旦被执行,静态类直接被放入方法区,可以直接通过类名进行调用,而不需要建立类的对象。
静态方法使用上来说,主要有3点区别:
1、在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
2、静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。
3、程序的static块只能调用静态方法,不能调用实例的方法。
如果要追溯其区别的根源,可以这样理解:在编译期间静态方法的行为就已经确定,而实例方法只有在运行期间当实例确定之后才能确定。
相关文章推荐
- Eclipse配置NDK环境(不需要Cygwin)
- Java集合框架:总结
- Eclipse Logcat 显示配置
- leetcode--Maximum Depth of Binary Tree
- 一个例子让你了解Java反射机制
- spring中配置mongo的最大连接数
- Java生成PDF
- MinGW-GCC 如何编译JNI程序进阶
- JDK各个版本的新特性jdk1.5-jdk8
- Java中的线程池
- jdk8新特性-亮瞎眼的lambda表达式
- Java中的位移运算符
- SpringMVC+FreeMarker
- 关于导入Java Web项目的一些注意操作
- Spring+quartz 实现动态管理任务
- 关于JAVA的GC算法
- Java集合框架:Collections工具类
- Java集合框架:Collections工具类
- Java多线程系列--“基础篇”07之 线程休眠
- Java 异常处理