java static 作用详解
static表示 “靜態(tài)”的意思,用來(lái)修飾成員變量和成員方法,也可以形成靜態(tài)static代碼塊,也可是修飾內(nèi)部類,
我們常說(shuō)的靜態(tài)內(nèi)部類,注意外部類不能使用靜態(tài)的,
static方法就是沒有this的方法。在static方法內(nèi)部不能調(diào)用非靜態(tài)方法,反過來(lái)是可以的。
而且可以在沒有創(chuàng)建任何對(duì)象的前提下,僅僅通過類本身來(lái)調(diào)用static方法。這實(shí)際上正是static方法的主要用途
?
使用注意:
在靜態(tài)方法中沒有this關(guān)鍵字因?yàn)殪o態(tài)是隨著類的加載而加載,而this是隨著對(duì)象的創(chuàng)建而存在的。
靜態(tài)比對(duì)象優(yōu)先存在。靜態(tài)可以訪問靜態(tài)的,但是靜態(tài)不能訪問非靜態(tài)的。非靜態(tài)的可以去訪問靜態(tài)的。
?
舉例 普通方法與靜態(tài)方法調(diào)用的區(qū)別
Java 靜態(tài)方法 與 普通的方法
?
public class Main {public static void main(String[] args){Main main = new Main();main.Man(); //普通方法調(diào)用Main.People();//靜態(tài)方法調(diào)用}//普通方法public void Man(){}//靜態(tài)方法public static void People(){}}
靜態(tài)方法(Static Method)與靜態(tài)成員變量一樣,屬于類本身,在類裝載的時(shí)候被裝載到內(nèi)存(Memory),不自動(dòng)進(jìn)行銷毀,會(huì)一直存在于內(nèi)存中,直到JVM關(guān)閉。
非靜態(tài)方法(Non-Static Method)又叫實(shí)例化方法,屬于實(shí)例對(duì)象,實(shí)例化后才會(huì)分配內(nèi)存,必須通過類的實(shí)例來(lái)引用。不會(huì)常駐內(nèi)存,當(dāng)實(shí)例對(duì)象被JVM 回收之后,也跟著消失。?
?
?
Java 靜態(tài)變量與非靜態(tài)變量?
從上面的解釋知道 無(wú)論是靜態(tài)變量還是靜態(tài)方法 都是屬于類本身,使用的時(shí)候可以直接調(diào)用
看下面案例
public class Main {private String name="小明"; //非靜態(tài)private static int age=18; //靜態(tài)public static void main(String[] args){
// System.out.print(name);//錯(cuò)誤的不能直接調(diào)用Main main = new Main();System.out.print(main.name);System.out.print(age);}}
?
?
總結(jié)
以上是生活随笔為你收集整理的java static 作用详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bios设置,如何重置为默认??
- 下一篇: 谁知道抛丸机多少钱一台