Java静态域与静态方法
来源:互联网 发布:gcc编译器下载 linux 编辑:程序博客网 时间:2024/05/16 12:09
Java静态域与静态方法
@(JAVA)[java]
在Java中,静态修饰符static只能用于类的成员变量与成员方法。
(一)静态域
1、静态变量
如果将某个变量定义为static,那么这个类及其所有对象共享同一个值,它在内存中只存在一份,严格来说是在每个JVM中只存在一份。
比如:
public class Employee{ private int id; private static int nextId = 1;}
每个Employee对象都有一个id的拷贝,而且它们的值并不相同。但所有的Employee共享同一个nextId的值,它在JVM中只存在一份。
2、静态常量
其实静态变量使用得相对较少,它一般会结合一些设计模式使用(如单例)。但静态常量却使用得非常的多,如Math类中的:
public static final double PI = 3.1415926538979323864;
另一个使用得非常多的是System.out,它在System类中被声明:
public static final PrintStream out = ...
(二)静态方法
静态方法不需要先实例化对象,再进行调用,面是可以直接使用类名进行调用。常用于一些工具类(utils等),如Math类中的很多方法:
Math.pow(5,2);
静态方法不能操作对象,也不能在静态方法中访问实例域(但可访问静态域)。
在以下2种情况使用静态方法:
* 【工具类】一个方法不需要访问对象状态,其所需参数都是通过显式参数提供(如Math.pow())
* 一个方法只需要访问类的静态域(如Employee.geetNextId())
(三)静态成员类
请参考《effective java》第24条
(三)小结
- 静态域在内存中只存在一份,所有对象共享。静态常量更觉,静态变量更多与一些设计模式结合使用。
- 静态方法更多用于工具类,或者是只访问类的静态域的情形。
阅读全文
0 0
- Java静态域与静态方法
- Java静态域与静态方法
- Java静态域与静态方法
- 静态域与静态方法
- Java中的常量、静态域与静态方法
- Java学习笔记【静态域与静态方法】
- JAVA 静态变量与静态方法
- java 静态代码块与静态方法
- java继承静态变量与静态方法
- java中的静态变量、静态方法与静态代码块
- java中的静态变量、静态方法与静态代码块
- java中的静态变量、静态方法与静态代码块
- 域与静态方法
- Java静态方法与变量
- Java中的静态域、静态常量、静态方法
- java中静态域,静态常量,静态方法
- Java静态域、静态常量和静态方法
- java中静态域,静态常量,静态方法
- 第4章 对象和类
- Flask学习(一)
- git
- Qt程序在windows下的发布
- Spring的事务隔离级别
- Java静态域与静态方法
- Myeclipse开发遇到错误:java.lang.OutOfMemoryError: PermGen space
- zabbix简介及安装
- BootStrap模态框
- mybatis学习一框架搭建
- Android 7.0 调用系统相机崩溃解决 android.os.FileUriException
- JAVA中的格式化输出
- 统计一个字符串中各个字符的百分比:
- 8月4日学习笔记