成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java教程 Java語言中的static修飾符

開發(fā) 后端
在Java類中,我們常常會看到static關(guān)鍵字,往往被稱為靜態(tài)的。Static修飾符可以用來修飾數(shù)據(jù)成員,方法成員,但是不能修飾類(此處指外部類),不能修飾構(gòu)造方法。本文將了static修飾符的特點(diǎn)及用法。

本文是Java教程之Java語言中的static修飾符部分。

在Java類中,我們常常會看到static關(guān)鍵字,往往被稱為靜態(tài)的。Static修飾符可以用來修飾數(shù)據(jù)成員,方法成員,但是不能修飾類(此處指外部類),不能修飾構(gòu)造方法。如:

  1. package com.csst.vo;  
  2.  
  3.  public class User {  
  4.  
  5.        private String name;  
  6.  
  7.        private static int count;  
  8.  
  9.        public String getName() {  
  10.  
  11.               return name;  
  12.  
  13.        }  
  14.  
  15.        public void setName(String name) {  
  16.  
  17.               this.name = name;  
  18.  
  19.        }        
  20.  
  21.        public static int getCount() {  
  22.  
  23.               return count;  
  24.  
  25.        }  
  26.  
  27.        public static void main(String[] args){  
  28.  
  29.               User user1=new User();  
  30.  
  31.               User user2=new User();  
  32.  
  33.               user1.setName("Rose");  
  34.  
  35.               user2.setName("Kate");  
  36.  
  37.               user1.count=10;  
  38.  
  39.               user2.count=20;  
  40.  
  41.               System.out.println("user1.name:"+user1.getName()+" user2.name:"+user2.getName());  
  42.  
  43.               System.out.println("user1.count:"+User.getCount()+"user2.count:"+user2.count);  
  44.  
  45.        }  

該程序運(yùn)行結(jié)果為:

  1. user1.name:Rose user2.name:Kate  
  2.  
  3. user1.count:20 user2.count:20 

我們可以發(fā)現(xiàn),user1和user2的name屬性是不同的,分別為該對象調(diào)用setName所指定的,而雖然user1和user2分別對count屬性指定了不同的值,但是最終輸出的count值卻均為20。原因就是count被static修飾,而name沒有使用count修飾。
被static修飾符修飾的數(shù)據(jù)成員或方法成員被稱為靜態(tài)成員,或者類成員,沒有被static修飾的,被稱為實(shí)例成員。static成員只被初始化一次,所有的對象共享,因此count會輸出兩個(gè)20。實(shí)例成員只有當(dāng)初始化對象的時(shí)候才初始化,每次創(chuàng)建對象,都會被初始化一次。name在user1和user2被創(chuàng)建時(shí),初始化了2次,因此最終輸出的是Rose和Kate。
另外,static成員,由于是類共享的,所以不僅可以使用對象調(diào)用,也可以使用類名調(diào)用。在static方法中,不能夠直接使用非靜態(tài)的成員,如果使用,必須初始化對象,調(diào)用。如過在上面示例的User.java中有如下代碼,會發(fā)生編譯錯(cuò)誤。

  1. public static void test(){  
  2.  
  3.        setName("test");  
  4.  

可以修改如下:

  1. public static void test(){  
  2.  
  3.               User user=new User();  
  4.  
  5.               user.setName("test");  
  6.  

千萬不要盲目的把成員聲明為static,一定要理解static成員的特點(diǎn),否則會造成雖然語法正確,但是邏輯錯(cuò)誤的后果。

 

【編輯推薦】

  1. Java教程 Java類的組成
  2. Java教程 Java類中的包
  3. Java教程 Java語言的訪問權(quán)限修飾符
  4. Java教程 Java類中的各種數(shù)據(jù)
  5. Java教程 Java語言中的數(shù)據(jù)類型及String類
責(zé)任編輯:仲衡 來源: taomoon719的專欄
相關(guān)推薦

2009-06-12 13:37:47

訪問權(quán)限修飾符Java教程

2011-06-28 09:29:11

C#修飾符

2009-08-24 16:49:39

C#修飾符

2011-07-20 16:48:22

C++static

2015-08-18 09:25:11

Java修飾符關(guān)鍵詞

2011-05-13 14:56:14

autoregisterstatic

2011-06-02 14:51:07

JAVA修飾符

2009-06-12 15:01:48

Java數(shù)組Java教程

2015-01-06 09:47:55

Java

2009-06-19 10:51:39

Scalapackage訪問修飾符

2009-06-12 14:18:20

構(gòu)造方法Java語言Java教程

2023-12-29 09:01:27

SwiftUI視圖修飾符

2009-08-27 11:04:08

C# extern修飾

2009-08-27 13:06:13

C# new修飾符

2009-09-02 17:14:28

C#修飾符

2009-08-21 13:58:06

C# virtual修

2009-08-27 11:12:03

C# abstract

2009-09-02 17:04:35

C# Extern修飾

2009-08-27 11:16:40

C# sealed修飾

2009-09-04 11:06:40

C#訪問修飾符
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美xxxx网站 | 欧美精品在线观看 | 国产一区二区小视频 | 国产精品 亚洲一区 | 精品乱码久久久久 | 日韩一二区在线 | 91精品国产91久久久久久密臀 | 亚洲精品久久久蜜桃 | 黄色一级毛片 | 欧美一级电影免费 | 国产精品一区一区三区 | 欧美四虎| 日本午夜免费福利视频 | 成人国产在线观看 | 久久久91精品国产一区二区三区 | 你懂的国产 | 狠狠操av | 久久久一区二区三区 | 国产精品1区2区3区 国产在线观看一区 | 福利视频网站 | 伊人精品国产 | 91国在线观看 | 中文视频在线 | 新疆少妇videos高潮 | 免费黄色成人 | 欧美综合久久久 | 伊人久久精品一区二区三区 | 国产精品久久久久999 | 国产乱码精品一区二区三区av | 国产精品一二三区 | 久久中文字幕av | 日本天堂视频 | 91精品一区二区三区久久久久久 | 欧美日韩a | 精品视频一区二区三区 | 综合精品久久久 | 紧缚调教一区二区三区视频 | 久久久综合精品 | 欧美三区 | 亚洲有码转帖 | 91精品国产色综合久久 |