Java静态域与静态方法
生活随笔
收集整理的這篇文章主要介紹了
Java静态域与静态方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java靜態域與靜態方法
@(JAVA)[java]
在Java中,靜態修飾符static只能用于類的成員變量與成員方法。
(一)靜態域
1、靜態變量
如果將某個變量定義為static,那么這個類及其所有對象共享同一個值,它在內存中只存在一份,嚴格來說是在每個JVM中只存在一份。
比如:
每個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條
(三)小結
總結
以上是生活随笔為你收集整理的Java静态域与静态方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: org.json使用指南
- 下一篇: hbase编程指南