最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA語(yǔ)言編程格式高級(jí)規(guī)范

 更新時(shí)間:2015年05月06日 17:29:17   投稿:mdxy-dxy  
這篇文章主要介紹了JAVA語(yǔ)言編程格式高級(jí)規(guī)范,需要的朋友可以參考下

作為一位開發(fā)人員,都要有嚴(yán)格的代碼規(guī)范。為此我總結(jié)了一些代碼規(guī)范案例。

目 錄

1. 前言

2. 試用范圍

3. JAVA命名規(guī)范--

3.1 公共約定

3.2 Java文件、包

3.3 類、接口命名規(guī)范

3.4 方法命名規(guī)范

3.5 常量

3.6 變量和參數(shù)

3.7 組件/部件

3.8 集合

3.9 神秘的數(shù)

3.10 其他

3.11 Java異常

3.12 數(shù)組命名

3.13 數(shù)據(jù)庫(kù)表命名規(guī)則

3.14 數(shù)據(jù)庫(kù)字段命名規(guī)則

3.15 JSP文件命名

3.16 Servlet類命名

4. 書寫格式規(guī)范

4.1 縮進(jìn)

4.2 空格

4.3 對(duì)齊

4.4 空行

4.5 注釋

5. 代碼文件風(fēng)格

1. 前言 為確保系統(tǒng)源程序可讀性,從而增強(qiáng)系統(tǒng)可維護(hù)性,茲制定下述編程規(guī)范,以規(guī)范系統(tǒng)各部分編程。系統(tǒng)繼承的其它資源中的源程序也應(yīng)按此規(guī)范作相應(yīng)修改。
2. 試用范圍 本文檔將作為河北郵政應(yīng)用系統(tǒng)軟件(JAVA語(yǔ)言)開發(fā)的編程格式規(guī)范。在系統(tǒng)的編碼、測(cè)試及維護(hù)過程中,要求嚴(yán)格遵守。
3. JAVA命名規(guī)范
3.1 公共約定  命名指系統(tǒng)中對(duì)源文件名、方法、目錄、包、數(shù)據(jù)庫(kù)表名、數(shù)據(jù)庫(kù)字段等的命名。 
系統(tǒng)所用的命名都使用英文縮寫來表達(dá)。 
命名的組成方式為:前綴+{命名詞素縮寫},前綴表達(dá)出命名的用途,如數(shù)據(jù)庫(kù)表等。 
命名的前綴由項(xiàng)目組確定。 
除系統(tǒng)公共維護(hù)對(duì)象外的其他對(duì)象,命名全部用小寫。一種方式用“_”作連接符,另一種方式是詞素的第一個(gè)字母大寫直接連接在一起。在本規(guī)范中,數(shù)據(jù)庫(kù)名、數(shù)據(jù)庫(kù)字段名采用第一種方式,其余采用第二種方式。 
使用可以準(zhǔn)確說明變量/字段/類/接口/包等的完整的英文描述符。例如,采用類似 firstName,listAllUsers 或 CorporateCustomer 這樣的名字,嚴(yán)禁使用漢語(yǔ)拼音及不相關(guān)單詞命名,雖然Java支持Unicode命名,但本規(guī)范規(guī)定對(duì)包、類、接口、方法、變量、字段等不得使用漢字等進(jìn)行命名 
采用大小寫混合,提高名字的可讀性。一般應(yīng)該采用小寫字母,但是類和接口的名字的首字母,以及任何中間單詞的首字母應(yīng)該大寫。包名全部小寫。 
盡量少用縮寫,但如果一定要使用,當(dāng)使用公共縮寫和習(xí)慣縮寫等,如實(shí)現(xiàn)(implement)可縮寫成impl,經(jīng)理(manager)可縮寫成mgr等,具體參看下表,嚴(yán)禁濫用縮寫。  避免使用長(zhǎng)名字(最好不超過 25 個(gè)字母)。

避免使用數(shù)字,但可用2代替to,用4代替for等,如:go2Jsp。

3.2 Java文件、包 
文件名當(dāng)與其類嚴(yán)格相同,所有單詞首字母大寫。 
包名一般以項(xiàng)目或模塊名命名,少用縮寫和長(zhǎng)名,一律小寫。 
基本包:com.czpost,所有包、文件都從屬于此包。
包名按如下規(guī)則組成: [基本包].[項(xiàng)目名].[模塊名].[子模塊名]... 如: com.czpost.eims com.hepost.eims.until„ 
不得將類直接定義在基本包下,所有項(xiàng)目中的類、接口等都當(dāng)定義在各自的項(xiàng)目和模塊 包中。

3.3 類、接口命名規(guī)范  所有單詞首字母大寫。使用能確切反應(yīng)該類、接口含義、功能等的詞。一般采用名詞。 
接口可帶I前綴或able、ible、er等后綴。

3.4 方法命名規(guī)范 方法的命名應(yīng)采用完整的英文描述符,大小寫混合使用:所有中間單詞的第一個(gè)字母大寫。法名稱的第一個(gè)單詞常常采用一個(gè)有強(qiáng)烈動(dòng)作色彩的動(dòng)詞。 取值類使用get前綴,設(shè)值類使用set前綴,判斷類使用is(has)前綴。 例: getName() setSarry() isLogon() 方法參數(shù)建議順序:(被操作者,操作內(nèi)容,操作標(biāo)志,其他⋯) 例:public void replace(String sourceStr, String oldStr, String newStr) { ........ }

3.5 常量 采用完整的英文大寫單詞,在詞與詞之間用下劃線連接,如:DEFAULT_VALUE

3.6 變量和參數(shù) 變量建議采用匈牙利命名法,詞素規(guī)則見“公共約定” 
整型變量(包括int,short,long):以 n 開頭,例如:long nCredNum; 
浮點(diǎn)型變量(包括float,double):以 f 開頭,例如:double fTranAmt; 
字符變量:以 c 開頭,例如:char cPageFlag; 
日期型變量:以d開頭,例如:date dToday;  布爾型變量:以is開頭,例如:boolean isFlag; 
字符串變量:以 s 開頭,例如:char sPageNo[2+1]; 
全局變量:以g開頭結(jié)合數(shù)據(jù)的類型,例如:char gsBankNo[10+1]; 
靜態(tài)變量:靜態(tài)變量在文件中同樣是全局變量,命名規(guī)則同全局變量。 
系統(tǒng)級(jí)變量:系統(tǒng)級(jí)變量同樣是全局變量,以 ‘_'開頭結(jié)合數(shù)據(jù)的類型。
例如:char _sBankNo[10+1] 沒有‘g'。
臨時(shí)變量通常被取名為i,j,k,m和n,它們一般用于整型;c,d,e,它們一般用于字符型。

3.7 組件/部件 應(yīng)采用完整的英文描述符命名組件(接口部件),遵循匈牙利命名法則 如:btnOK,lblName。  按鈕變量 btn+Xxxxxxx 例如:btnSave, btn Exit, btnPrint等  題標(biāo)變量 lbl+Xxxxxxxx 例如:lblName, lblSex等 對(duì)象類型 前綴 Canvas cvs CheckBox chk Image img List lst Choice chc Dialog dlg Event evt Frame frm Menu menu Panel pnl TextArea txa TextField txf

3.8 集合 一個(gè)集合,例如數(shù)組和矢量,應(yīng)采用復(fù)數(shù)命名來表示隊(duì)列中存放的對(duì)象類型。命名應(yīng)采用完整的英文描述符,名字中所有非開頭的單詞的第一個(gè)字母應(yīng)大寫,適當(dāng)使用集合縮寫前綴。如: Vector vProducts = new Vector(); //產(chǎn)品向量 Array aryUsers = new Array(); //用戶列表

3.9 神秘的數(shù) 程序里經(jīng)常會(huì)用到一些量,它是有特定的含義的,把神秘的數(shù)定義為一個(gè)常量。注意這個(gè)常量的命名應(yīng)該能表達(dá)該數(shù)的意義,并且應(yīng)該全部大寫,以與對(duì)應(yīng)于變量的標(biāo)識(shí)符區(qū)別開來。例如50這個(gè)數(shù),可以定義為一個(gè)名為NUM_OF_EMPLOYEES的常量來代替。

3.10 其他 命名時(shí)應(yīng)使用復(fù)數(shù)來表示它們代表多值。如:orderItems。

3.11 Java異常 異常類名由表示該異常類型的單詞和Exception組成,如ActionException。
異常實(shí)例一般使用e、ex等,在多個(gè)異常時(shí)使用該異常名或簡(jiǎn)寫加E,Ex等組成,如: SQLEx ActionEx

3.12 數(shù)組命名 數(shù)組應(yīng)該總是用下面的方式來命名: byte[] buffer; 而不是 byte buffer[];

3.13 數(shù)據(jù)庫(kù)表命名規(guī)則  前綴與命名詞素間用下劃線分隔。  命名由小寫字母組成。 
命名詞素如果由單一詞組成,可用全拼;如果是多詞組成,用縮寫。縮寫間用下劃線。 例如:  庫(kù)表:以‘t_'開頭  視圖:以‘v_'開頭  庫(kù)表索引:以‘t_'開頭, 以‘_idx'結(jié)尾  庫(kù)表唯一索引:以‘t_'開頭,以‘_uidx'結(jié)尾

3.14 數(shù)據(jù)庫(kù)字段命名規(guī)則 
命名詞素如果由單一詞組成,可用全拼;如果是多詞組成,用縮寫??s寫間用下劃線。  命名由小寫字母組成。  沒有前綴。

3.15 JSP文件命名 采用完整的英文描述說明JSP所完成的功能,盡可能包括一個(gè)生動(dòng)的動(dòng)詞,第一個(gè)字母小寫,如:viewMessage.jsp、editUser.jsp或者forumChooser.jsp等。

3.16 Servlet類命名 一般對(duì)應(yīng)于所服務(wù)的對(duì)象加后綴Service來命名,如:UserService,TradeService等。

4. 書寫格式規(guī)范 嚴(yán)格要求書寫格式是為了使程序整齊美觀、易于閱讀、風(fēng)格統(tǒng)一,程序員對(duì)規(guī)范書寫的必要性要有明確認(rèn)識(shí)。建議源程序使用eclipse工具開發(fā),格式規(guī)范預(yù)先在工具中設(shè)置。

4.1 縮進(jìn) 縮進(jìn)建議以4個(gè)空格為單位。預(yù)處理語(yǔ)句、全局?jǐn)?shù)據(jù)、標(biāo)題、附加說明、函數(shù)說明、標(biāo)號(hào)等均頂格書寫。語(yǔ)句塊的"{"、"}"配對(duì)對(duì)齊,并與其前一行對(duì)齊,語(yǔ)句塊類的語(yǔ)句縮進(jìn)建議每個(gè)"{"、"}"單獨(dú)占一行,便于匹對(duì)。sclipse 中的默認(rèn)方式是開始的"{"不是單獨(dú)一行,建議更改成上述格式。

4.2 空格 原則上變量、類、常量數(shù)據(jù)和函數(shù)在其類型,修飾名稱之間適當(dāng)空格并據(jù)情況對(duì)齊。關(guān)鍵字原則上空一格,如:if ( ... ) 等。運(yùn)算符的空格規(guī)定如下:"::"、"->"、"["、"]"、"++"、"--"、"~"、"!"、"+"、"-"(指正負(fù)號(hào))、"&"(引用)等幾個(gè)運(yùn)算符兩邊不加空格(其中單目運(yùn)算符系指與操作數(shù)相連的一邊),其它運(yùn)算符(包括大多數(shù)二目運(yùn)算符和三目運(yùn)算符"?:"兩邊均加一空格,在作函數(shù)定義時(shí)還可據(jù)情況多空或不空格來對(duì)齊,但在函數(shù)實(shí)現(xiàn)時(shí)可以不用。","運(yùn)算符只在其后空一格,需對(duì)齊時(shí)也可不空或多空格。不論是否有括號(hào),對(duì)語(yǔ)句行后加的注釋應(yīng)用適當(dāng)空格與語(yǔ)句隔開并盡可能對(duì)齊。個(gè)人認(rèn)為此項(xiàng)可以依照個(gè)人習(xí)慣決定遵循與否。

4.3 對(duì)齊 原則上關(guān)系密切的行應(yīng)對(duì)齊,對(duì)齊包括類型、修飾、名稱、參數(shù)等各部分對(duì)齊。另每一行的長(zhǎng)度不應(yīng)超過屏幕太多,必要時(shí)適當(dāng)換行,換行時(shí)盡可能在","處或運(yùn)算符處,換行后最好以運(yùn)算符打頭,并且以下各行均以該語(yǔ)句首行縮進(jìn),但該語(yǔ)句仍以首行的縮進(jìn)為準(zhǔn),即如其下一行為“{”應(yīng)與首行對(duì)齊。 變量定義最好通過添加空格或TAB鍵形成對(duì)齊,同一類型的變量最好放在一起。如下例所示: int nValue; int nResult; int nLength;

4.4 空行 不得存在無規(guī)則的空行,比如說連續(xù)十個(gè)空行。程序文件結(jié)構(gòu)各部分之間空一行,由于每個(gè)函數(shù)還要有函數(shù)說明注釋,故通常只需空一行或不空,但對(duì)于沒有函數(shù)說明的情況至少應(yīng)再空一行。對(duì)自己寫的函數(shù),建議也加上“//------”做分隔。函數(shù)內(nèi)部數(shù)據(jù)與代碼之間應(yīng)空至少一行,代碼中適當(dāng)處應(yīng)以空行空開,建議在代碼中出現(xiàn)變量聲明時(shí),在其前空一行。類中四個(gè)“p”之間至少空一行,在其中的數(shù)據(jù)與函數(shù)之間也應(yīng)空行。

4.5 注釋 注釋是軟件可讀性的具體體現(xiàn)。程序注釋量一般占程序編碼量的20%,軟件工程要求不少于20%。程序注釋不能用抽象的語(yǔ)言,類似于"處理"、"循環(huán)"這樣的計(jì)算機(jī)抽象語(yǔ)言,要精確表達(dá)出程序的處理說明。避免每行程序都使用注釋,可以在一段程序的前面加一段注釋,具有明確的處理邏輯。 注釋必不可少,但也不應(yīng)過多,不要被動(dòng)的為寫注釋而寫注釋。以下是四種必要的注釋:  標(biāo)題、附加說明。  函數(shù)、類等的說明。對(duì)幾乎每個(gè)函數(shù)都應(yīng)有適當(dāng)?shù)恼f明,通常加在函數(shù)實(shí)現(xiàn)之前,在沒 有函數(shù)實(shí)現(xiàn)部分的情況下則加在函數(shù)原型前,其內(nèi)容主要是函數(shù)的功能、目的、算法等說明,參數(shù)說明、返回值說明等,必要時(shí)還要有一些如特別的軟硬件要求等說明。公用函數(shù)、公用類的聲明必須由注解說明其使用方法和設(shè)計(jì)思路,當(dāng)然選擇恰當(dāng)?shù)拿袷侥軌驇椭惆咽虑榻忉尩酶宄?
在代碼不明晰或不可移植處必須有一定的說明。 
及少量的其它注釋,如自定義變量的注釋、代碼書寫時(shí)間等。

5. 代碼文件風(fēng)格 所有的 Java(*.java) 文件都必須遵守如下的樣式規(guī)則: 
文件生成 對(duì)于規(guī)范的 JAVA 派生類,盡量用 eclipse工具來生成文件格式,避免用手工制作的頭文件/實(shí)現(xiàn)文件。  package/import package 行要在 import 行之前,import 中標(biāo)準(zhǔn)的包名要在本地的包名之前,而且按照字母順序排列。如果 import 行中包含了同一個(gè)包中的不同子目錄,則應(yīng)該用 * 來處理。
package hotlava.net.stats; import java.io.*; import java.util.Observable; import hotlava.util.Application; 這里 java.io.* 使用來代替InputStream and OutputStream 的。 
文件頭部注釋 文件頭部注釋主要是表明該文件的一些信息,是程序的總體說明,可以增強(qiáng)程序的可讀性和可維護(hù)性。文件頭部注釋一般位于 package/imports 語(yǔ)句之后,Class 描述之前。要求至少寫出文件名、創(chuàng)建者、創(chuàng)建時(shí)間和內(nèi)容描述。其格式應(yīng)該盡量約束如下: /** *Title: 確定鼠標(biāo)位置類 * Description: 確定鼠標(biāo)當(dāng)前在哪個(gè)作業(yè)欄位中并返回作業(yè)號(hào) * @Copyright: Copyright (c) 2002 * @Company: HIT * @author: rivershan * @version: 1.0 */  Class 接下來的是類的注釋,一般是用來解釋類的。 /** *A class representing a set of packet and byte counters * It is observable to allow it to be watched, but only * reports changes when the current set is complete */ 接下來是類定義,包含了在不同的行的 extends 和 implements public class CounterSet extends Observable implements Cloneable  Class Fields

接下來是類的成員變量: /** *Packet counters */ protected int[] packets; public 的成員變量必須生成文檔(JavaDoc)。proceted、private和 package 定義的成員變量如果名字含義明確的話,可以沒有注釋。  存取方法 接下來是類變量的存取的方法。它只是簡(jiǎn)單的用來將類的變量賦值獲取值的話,可以簡(jiǎn)單的寫在一行上。(個(gè)人認(rèn)為盡量分行寫)

/** *Get the counters * @return an array containing the statistical data. This array has been * freshly allocated and can be modified by the caller. */

public int[] getPackets() { 
 
return copyArray(packets, offset); 
 
} public int[] getBytes() { 
 
 return copyArray(bytes, offset); 
 
} 
 
public int[] getPackets() { 
 
 return packets; 
 
} public void setPackets(int[] packets) { 
 
this.packets = packets; 
 
} 

其它的方法不要寫在一行上  構(gòu)造函數(shù) 接下來是構(gòu)造函數(shù),它應(yīng)該用遞增的方式寫(比如:參數(shù)多的寫在后面)。 訪問類型("public","private" 等.)和任何"static","final"或"synchronized"應(yīng)該在一行中,并且方法和參數(shù)另寫一行,這樣可以使方法和參數(shù)更易讀。

public CounterSet(int size) {

this.size = size;

} 

克隆方法 如果這個(gè)類是可以被克隆的,那么下一步就是 clone 方法: public Object clone() {

try {

CounterSet obj = (CounterSet)super.clone(); obj.packets = (int[])packets.clone(); obj.size = size; return obj;

} catch(CloneNotSupportedException e) {

throw new InternalError("Unexpected CloneNotSUpportedException: " + e.getMessage());

}

} 

類方法 下面開始寫類的方法:

/** *Set the packet counters * (such as when restoring from a database) */ protected final void setArray(int[] r1, int[] r2, int[] r3, int[] r4) throws IllegalArgumentException {

// // Ensure the arrays are of equal size // if (r1.length != r2.length || r1.length != r3.length || r1.length != r4.length) throw new IllegalArgumentException("Arrays must be of the same size"; System.arraycopy(r1, 0, r3, 0, r1.length); System.arraycopy(r2, 0, r4, 0, r1.length); }  toString 方法 無論如何,每一個(gè)類都應(yīng)該定義 toString 方法:

public String toString() { 
String retval = "CounterSet: "; 
 for (int i = 0; i < data.length(); i++)  {  
 retval += data.bytes.toString(); 
retval += data.packets.toString(); 
} 
return retval; 
 } 

main 方法 如果main(String[]) 方法已經(jīng)定義了, 那么它應(yīng)該寫在類的底部。

相關(guān)文章

  • Java?Calendar類使用之日期和時(shí)間處理指南

    Java?Calendar類使用之日期和時(shí)間處理指南

    這篇文章主要給大家介紹了關(guān)于Java?Calendar類使用之日期和時(shí)間處理指南的相關(guān)資料,Calendar類是Java中用于處理日期和時(shí)間的抽象類,它提供了一種獨(dú)立于特定日歷系統(tǒng)的方式來處理日期和時(shí)間,需要的朋友可以參考下
    2023-12-12
  • java連接SQL Server數(shù)據(jù)庫(kù)的方法

    java連接SQL Server數(shù)據(jù)庫(kù)的方法

    這篇文章主要為大家詳細(xì)介紹了java連接SQL Server數(shù)據(jù)庫(kù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • SpringBoot自動(dòng)配置實(shí)現(xiàn)流程詳細(xì)分析

    SpringBoot自動(dòng)配置實(shí)現(xiàn)流程詳細(xì)分析

    這篇文章主要介紹了SpringBoot自動(dòng)配置原理分析,SpringBoot是我們經(jīng)常使用的框架,那么你能不能針對(duì)SpringBoot實(shí)現(xiàn)自動(dòng)配置做一個(gè)詳細(xì)的介紹。如果可以的話,能不能畫一下實(shí)現(xiàn)自動(dòng)配置的流程圖。牽扯到哪些關(guān)鍵類,以及哪些關(guān)鍵點(diǎn)
    2022-12-12
  • SpringMVC配置與使用詳細(xì)介紹

    SpringMVC配置與使用詳細(xì)介紹

    Spring MVC是一個(gè)基于Java的實(shí)現(xiàn)了MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)Web框架,通過把Model,View,Controller分離,將web層進(jìn)行職責(zé)解耦,把復(fù)雜的web應(yīng)用分成邏輯清晰的幾部分,簡(jiǎn)化開發(fā),減少出錯(cuò),方便組內(nèi)配合
    2022-07-07
  • 淺談java中Math.random()與java.util.random()的區(qū)別

    淺談java中Math.random()與java.util.random()的區(qū)別

    下面小編就為大家?guī)硪黄獪\談java中Math.random()與java.util.random()的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-09-09
  • java?Object類中常用API分享

    java?Object類中常用API分享

    Object類是java中所有類的祖宗類,因此java中所有的類的對(duì)象都可以直接使用Object類中提供的一些方法,下面小編為大家整理了Object類中常用API,希望對(duì)大家有所幫助
    2023-10-10
  • java實(shí)現(xiàn)XML與JSON轉(zhuǎn)換的便捷實(shí)用方法

    java實(shí)現(xiàn)XML與JSON轉(zhuǎn)換的便捷實(shí)用方法

    這篇文章主要為大家介紹了java實(shí)現(xiàn)XML與JSON轉(zhuǎn)換的便捷實(shí)用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Java 將Excel轉(zhuǎn)為SVG的方法

    Java 將Excel轉(zhuǎn)為SVG的方法

    本文以Java示例展示如何將Excel文檔轉(zhuǎn)為SVG格式。通過本文中的方法,在將Excel轉(zhuǎn)為SVG時(shí),如果sheet工作表中手動(dòng)設(shè)置了分頁(yè),則將每個(gè)分頁(yè)的內(nèi)容單獨(dú)保存為一個(gè)svg文件,如果sheet工作表中沒有設(shè)置分頁(yè),則將Excel sheet表格中默認(rèn)的分頁(yè)范圍保存為svg。
    2021-05-05
  • SpringBoot集成WebSocket長(zhǎng)連接實(shí)際應(yīng)用詳解

    SpringBoot集成WebSocket長(zhǎng)連接實(shí)際應(yīng)用詳解

    這篇文章主要介紹了SpringBoot集成WebSocket長(zhǎng)連接實(shí)際應(yīng)用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Spring?boot?easyexcel?實(shí)現(xiàn)復(fù)合數(shù)據(jù)導(dǎo)出、按模塊導(dǎo)出功能

    Spring?boot?easyexcel?實(shí)現(xiàn)復(fù)合數(shù)據(jù)導(dǎo)出、按模塊導(dǎo)出功能

    這篇文章主要介紹了Spring?boot?easyexcel?實(shí)現(xiàn)復(fù)合數(shù)據(jù)導(dǎo)出、按模塊導(dǎo)出,實(shí)現(xiàn)思路流程是準(zhǔn)備一個(gè)導(dǎo)出基礎(chǔ)填充模板,默認(rèn)填充key,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09

最新評(píng)論

喀喇沁旗| 仁布县| 壶关县| 宾阳县| 子长县| 安塞县| 定西市| 通州市| 呼伦贝尔市| 册亨县| 大连市| 闽清县| 雷山县| 仁化县| 成安县| 资兴市| 永年县| 丹棱县| 沈阳市| 四会市| 白玉县| 奉化市| 卫辉市| 乃东县| 丽水市| 罗甸县| 正定县| 康平县| 绵阳市| 密山市| 枣强县| 馆陶县| 黄浦区| 本溪市| 阿巴嘎旗| 大悟县| 资兴市| 咸丰县| 仪征市| 乐清市| 门源|