激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java應用程序開發學習之static關鍵字應用

Java應用程序開發學習之static關鍵字應用

2021-06-22 13:00Engineer-Bruce_Yang Java教程

今天小編就為大家分享一篇關于Java應用程序開發學習之static關鍵字應用,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

java的static關鍵字和c/c++語言的關鍵字有所不同:

一旦在java里使用了static關鍵字,那么這樣的內容不再屬于對象自己,而是屬于類本身的,所以凡是本類的對象,都共享一份。

1、使用java static關鍵字修飾成員變量

以下是stundent類。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package app_one;
public class student {
 private int id = 0 ;
 private int age = 0;
 private string name = null;
 static int id_count = 0 ;
 public student(int age , string name)
 {
 this.age = age ;
 this.name = name ;
 this.id = ++id_count ;
 }
 public int getage() {
 return age;
 }
 public void setage(int age) {
 this.age = age;
 }
 public string getname() {
 return name;
 }
 public void setname(string name) {
 this.name = name;
 }
}

以下是主類:

?
1
2
3
4
5
6
7
8
9
10
11
12
package app_one;
public class hello {
 public static void main(string[] args)
 {
 student st1 = new student(14,"小明");
 system.out.println("年齡:" + st1.getage() + " 姓名:" + st1.getname() + " 序號:" + student.id_count);
 student st2 = new student(15,"小紅");
 system.out.println("年齡:" + st2.getage() + " 姓名:" + st2.getname() + " 序號:" + student.id_count);
 student st3 = new student(18,"小李");
 system.out.println("年齡:" + st3.getage() + " 姓名:" + st3.getname() + " 序號:" + student.id_count);
 }
}

運行結果:

Java應用程序開發學習之static關鍵字應用

從上面的案例可以看到,id_count是可以自動進行計數的,每一次實例化student類的時候,id_count就自動+1,然后賦值給成員變量id,由于定義了static關鍵字的變量不再屬于對象,而是屬于類,所以在訪問的時候,我們可以用類名稱().靜態變量的形式來進行訪問。

2、使用static修飾成員方法

將上述程序中student類的id_count修改為私有的靜態變量,并添加一個靜態的get_idcount方法。

?
1
2
3
4
5
private static int id_count = 0 ;
public static int get_idcount()
{
 return id_count ;
}

在主類中獲取id_count不通過類.變量的方式獲取,而是改為類.方法()的方式獲取。

student.get_idcount()

強調兩點:

  • (1)成員方法可以訪問成員變量
  • (2)成員方法可以訪問靜態變量
  • (3)靜態方法可以訪問靜態變量
  • (4)靜態方法不可以訪問成員變量(非靜態)

原因:因為在內存中是先有的靜態內容,后有的非靜態內容

  • (1)靜態方法當中不能使用this

原因:因為this代表當前對象,通過誰調用的方法,誰就是當前對象

小結:

一旦使用了static修飾成員方法,那么這就成為了靜態方法,不屬于對象,而是屬于類本身的。

對于靜態方法來說,可以通過對象名進行調用,也可以直接通過類名稱來調用。

如果沒有static關鍵字,那么必須首先創建對象,然后通過對象才能使用它

如果有了static關鍵字,那么不需要創建對象,直接就能通過類名稱進行調用。

無論是成員變量,還是成員方法,如果有了static,都推薦使用類名稱進行調用。

靜態變量:類名稱.靜態變量

靜態方法:類名稱.靜態方法();

對于本類中的靜態方法,可以省略類名稱。

3、靜態static的內存圖

參照學習傳智的java課程給出的圖,清晰易懂。

Java應用程序開發學習之static關鍵字應用

4、靜態代碼塊

靜態代碼塊格式:

?
1
2
3
4
5
6
public class 類名稱{
  static
  {
    //靜態代碼塊的內容
  }
}
  • (1)特點:當第一次用到本類時,靜態代碼塊執行唯一的一次,靜態內容總是優先于非靜態,所以靜態代碼塊比構造方法先執行
  • (2)典型用途:用來一次性地對靜態成員變量進行賦值。

針對上面的案例做修改,在student類中添加一個靜態代碼塊:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package app_one;
public class student {
 private int id = 0 ;
 private int age = 0;
 private string name = null;
 private static int id_count = 0 ;
 static
 {
 system.out.println("靜態代碼塊運行!");
 }
 public student(int age , string name)
 {
 system.out.println("構造方法運行!");
 this.age = age ;
 this.name = name ;
 this.id = ++id_count ;
 }
 public int getage() {
 return age;
 }
 public void setage(int age) {
 this.age = age;
 }
 public string getname() {
 return name;
 }
 public void setname(string name) {
 this.name = name;
 }
 public static int get_idcount()
 {
 return id_count ;
 }
}

然后主程序修改如下:

?
1
2
3
4
5
6
7
8
9
10
package app_one;
public class hello {
 public static void main(string[] args)
 {
 student st1 = new student(14,"小紅");
 system.out.println("姓名: "+st1.getname() + " 年齡: " + st1.getage() + " 序號: "+student.get_idcount());
 student st2 = new student(14,"小李");
 system.out.println("姓名: "+st2.getname() + " 年齡: " + st2.getage() + " 序號: "+student.get_idcount());
 }
}

運行結果:

Java應用程序開發學習之static關鍵字應用

很明顯得出結論。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/morixinguan/article/details/84982486

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 日韩精品羞羞答答 | 看免费黄色一级片 | 色就操| 欧美一级色片 | 今井夏帆av一区二区 | 欧美一级特级 | 毛片福利 | 国产一级一国产一级毛片 | 国产高清永久免费 | 国产精品一区二区三区在线播放 | 99ri精品| 色视频在线播放 | 亚洲码无人客一区二区三区 | 九九热在线视频观看这里只有精品 | 免费专区 - 91爱爱 | 欧美人与牲禽动交精品一区 | 国产精品久久久久久久亚洲按摩 | 欧美成人国产va精品日本一级 | 国产成视频在线观看 | 亚洲精品一区二区三区免 | 涩涩操| 久久国产亚洲精品 | 国产亚洲精品综合一区91555 | h视频在线观看免费 | 91午夜免费视频 | 免费福利在线视频 | 免费黄色在线电影 | 亚洲视频网| 在线视频 亚洲 | 高清国产一区二区三区四区五区 | 双性精h调教灌尿打屁股的文案 | 最新久久免费视频 | 91精品国产综合久久久欧美 | 国产精品av久久久久久久久久 | 久久久一区二区三区精品 | 色婷婷一区二区三区 | 七首小情歌泰剧在线播放 | 成人午夜在线播放 | 欧美日韩一区,二区,三区,久久精品 | 国产一区二区亚洲 | www久久综合 |