日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java static调用吗_Java中的static的使用

發布時間:2023/12/10 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java static调用吗_Java中的static的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.Java?中被static修飾的成員稱為靜態成員或類成員。它屬于整個類所有,而不是某個對象所有,即被類的所有對象所共享、且優先于對象存在。靜態成員可以使用類名直接訪問,也可以使用對象名進行訪問。使用?static?可以修飾變量、方法和代碼塊。

2.public?修飾符表示公開的、公有的,靜態變量使用static修飾

3.靜態方法中可以直接調用同類中的靜態成員,但不能直接調用非靜態成員。

public class HellWorld{

String name = “Java”;//非靜態變量

static String hobby = “ programing”;//靜態變量

public static void print(){

System.out.println(“歡迎您:” + name + ” !”);//不能直接調用非靜態變量

System.out.println(“歡迎您:” + hobby + ” !”);//可以直接調用靜態變量

}

}

4.如果希望在靜態方法中調用非靜態變量,可以通過創建類的對象,然后通過對象來訪問非靜態變量。

public class HellWorld{

String name = “Java”;//非靜態變量

static String hobby = “program ”;//靜態變量

//靜態方法中調用非靜態變量

public static void print(){

//創建類的對象

HelloWorld hello=new HelloWorld();

//通過對象來實現在靜態方法中調用非靜態變量

System.out.println(“歡迎您:”+hello.name+”!”);

//靜態方法中可以直接調用靜態變量

System.out.prinltn(“歡迎喜歡”+ hobby +”的”+hello.name);     }   }

5.在普通成員方法中,則可以直接訪問同類的非靜態變量和靜態變量

public class HellWorld{

String name = “Java”;//非靜態變量

static String hobby = “ programing”;//靜態變量

public void print(){//普通方法

System.out.println(“歡迎您:” + name + ” !”);

System.out.prinltn(“歡迎喜歡”+ hobby +”的”+hello.name);     }   }

6.靜態方法中不能直接調用非靜態方法,需要通過對象來訪問非靜態方法

public class HellWorld{

String name = “Java”;//非靜態變量

static String hobby = “program ”;//靜態變量

//非靜態方法

public void show(){

System.out.println(“我是非靜態方法,不能被靜態方法直接調用。。。”);

}

//靜態方法

public static void show2(){

System.out.println(“我是靜態方法,可以直接被靜態方法調用”);

}

//靜態方法中通過對象來調用非靜態方法。可以直接調用靜態方法

public static void print(){

//創建類的對象

HelloWorld hello=new HelloWorld();

//通過對象來實現在靜態方法中調用非靜態方法

hello.show();

//靜態方法中可以直接調用靜態方法

show2();

}

}

二、Java?中的?static?使用之靜態初始化塊

1.在類的聲明中,可以包含多個初始化塊,當創建類的實例時,就會依次執行這些代碼塊。如果使用?static?修飾初始化塊,就稱為靜態初始化塊。

2.實例變量和類變量的區別:

a)?存放位置:類變量隨著類的加載而存放于方法區中;實例變量隨著對象的建立存在于堆內存中。

b)?生命周期:類變量生命周期最長,隨著類的消失而消失;實例變量生命周期隨著對象的消失而消失。

3.靜態初始化塊只在類加載時執行,且只會執行一次,同時靜態初始化塊只能給靜態變量賦值,不能初始化普通的成員變量。程序運行時,靜態初始化快先被執行并優先于主函數,然后執行普通初始化塊,最后才執行構造方法。

public class StaticDemo {

int num1;//聲明變量1

int num2;//聲明變量2

static int num3;//聲明靜態變量3

public StaticDemo(){//構造方法

num1 = 88;

System.out.println("通過構造方法為變量1賦值");

}

{//初始化塊

num2 = 99;

System.out.println("通過初始化塊為變量2賦值");

}

static{//靜態初始化這里不能giel普通變量賦值

num3 = 77;

System.out.println("通過靜態初始化塊為靜態變量3賦值");

}

public static void main(String[] args) {

StaticDemo hello = new StaticDemo();//創建類的對象hello

System.out.println("num1:" + hello.num1);

System.out.println("num2:" + hello.num2);

System.out.println("num3:" + hello.num3);

StaticDemo hello1 = new StaticDemo();

}

}

運行結果:

類屬性中被static所引用的變量,會被作為GC的root根節點。作為根節點就意味著,這一類變量是基本上不會被回收的。因此,static很容易引入內存泄漏的風險。

總結

以上是生活随笔為你收集整理的java static调用吗_Java中的static的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。