视窗
loading...
您现在的位置:首页 > IT认证 > JAVA >

Java编程风格与命名规范整理


Java编程风格与命名规范整理

基本命名规范

    包命名

    包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反。

    由一组以“。”连接的标识符构成,通常第一个标识符为符合网络域名的两个或者三个英文小写字母。

    People  TestPage  XMLExample

    类,接口命名

    类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。

    People  TestPage  XMLExample

    方法名

    方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。可以为动词或动词+名词组合。

    设置/获取某个值的Method,应该遵循setV/getV规范

    返回长度的Method,应该命名为length

    测试某个布尔值的Method,应该命名为isV

    将对象转换为某个特定类型的Mehod应该命名为toF

    getDate();  length();  isReady();  toOracleFormat();

    变量名

    1.普通变量命名应该采用首字母小写,其他字母首字母大写的方式。

    2.final static变量的名字应该都大写,并且指出完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词如。

    NUM_DAYS_IN_WEEK  MAX_VALU

    3. 如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性

    context=ctx  message=msg

    4. 通过在结尾处放置一个量词,就可创建更加统一的变量

    First(一组变量中的第一个)  Last(一组变量中的最后一个)  Next(一组变量中的下一个变量)  Prev(一组变量中的上一个)  Cur(一组变量中的当前变量)

    5. 无论什么时候,均提倡应用常量取代数字、固定字符串。也就是说,程序中除0,1以外,尽量不应该出现其他数字。

    6. 索引变量:i、j、k等只作为小型循环的循环索引变量。

    7. 逻辑变量:避免用flag来命名状态变量,用is来命名逻辑变量。

    if(isClosed){  dosomeworks;  return;  }

    数组

    总是使用以下方式定义数组:

    int[] arr = new int[10];

    禁止使用C语言的是形式:

    禁止  int arr[] = new int[10];

    集合

    数组或者容器推荐命名方式为名词+s的方式,例如:

    List persons = getPerson();  for(Person person : persons){  dosomeworks;  }

    泛型

    应该尽量简明扼要(最好是一个字母),以利于与普通的class或interface区分

    Container中的Element应该用E表示;Map里的key用K表示,value用V;Type用T表示;异常用X表示

    如果需要接收多个Type类型的参数,应该用邻接T的大写字母——例如S——来依次表示,当然也可以用T1, T2这样的方式

    public class HashSet extends AbstractSet {…}   public class HashMap extends AbstractMap {…}   public class ThreadLocal {…}   public interface Functor {       T val() throws X;   }

    推荐的命名

    1.当要区别接口和实现类的时候,可以在类的后面加上“Impl”。

    interface Container  class ContainerImpl

    2.Exception类最好能用“Exception”做为类命名的结尾

    DataNotFoundException  InvalidArgumentException

    3.抽象类最好能用“Abstract”做为类命名的开头

    AbstractBeanDefinition  AbstractBeanFactory

    4. Test类最好能用“Test”做为类命名的结尾

    ContainerTest

    5.简称与缩写(不推荐使用)

    cp代表colorPoint   buf代表buffer   off代表offset   len代表length

    除非是在循环中,否则一般不推荐使用单个字母作为变量名,不过也有例外,即约定俗成的单个字母

    b代表byte  c代表char  d代表double  e代表Exception   f代表float  i, j, k代表整数   l代表long  o代表Object   s代表String   v代表某些类型的特定值

    代码风格

    花括号

    花括号统一采用以下格式:

    if(bool experssion){  dosomework;  }

    除非花括号中为空,不然任何情况下不能省略花括号,并且花括号必须换行,例如:

    if(i==0){  return;  }  while(true) {}

    以下写法禁止出现:

    禁止  if(i != 0) return;  禁止  if(i !=0) {return;}

    括号

    括号的前,后一个字符不需要空格,例如:

    Person p = new Person(“Jack”, 17);

    空格

    逗号之后紧跟一个空格。

    Person p = new Person(“Jack”, 16, “China”);

    2. 二元操作符前后跟空格。

    int i = a + b – c * d;

    3. 一元操作符不需要空格,for语句分号后有空格。

    for(int i = 0; I < 10; i++){  dosomework;  }

    4. 括号前后不需要空格

    类

    类的定义结构按照顺序为:

    1) 常量

    2) 成员变量

    3) 构造函数

    4) 成员函数

    5) get和set方法

    各个部分之间留出一个空行。

    例如:

    规范类模板:

    class Person{      private final static int MAX_AGE = 100;       private String firstname = “Jack”;       public Person(){}  public Person(String firstname){      this.firstname = firstname;  }   public void doExercise(){      dosomeworks;      run();  }  private void run(){      dosomeworks;  }   public getFirstname(){      return firstname;  }  public setFirstname(String firstname){      this.firstname = firstname;  }  }

    2.构造函数

    1) 参数为空的构造函数出现在最上方

    2) 有调用关系的构造函数相邻

    3) 参数尽量由少到多从上至下排序

    3.使用成员变量

    在类的方法内引用成员变量了命名冲突以外,不使用this。非特殊情况在类的方法内都不使用get和set方法存取成员变量。

    4.方法

    有调用关系的方法尽量放在相邻的位置,public和private方法可以交叉放置。

    5.get和set方法,所有需要公开的成员变量都要符合良好的javabean规范,提供get和set方法,尽量使用IDE工具自动生成。

    Javadoc注释

    在每个程序的最开始部分,一般都用Javadoc注释对程序的总体描述以及版权信息,之后在主程序中可以为每个类、接口、方法、字段添加 Javadoc注释,每个注释的开头部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突出其概括作用,在这句话后面可以跟随更加详细的描述段落。在描述性段落之后还可以跟随一些以Javadoc注释标签开头的特殊段落,例如上面例子中的@auther和@version,这些段落将在生成文档中以特定方式显示

闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱閻庡厜鍋撻柛鏇ㄥ亞閿涙盯姊虹捄銊ユ珢闁瑰嚖鎷�

闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱閻庡厜鍋撻柛鏇ㄥ亞閿涙盯姊虹捄銊ユ珢闁瑰嚖鎷�

闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱濠电偛妫欓幐鍝ョ矆婢舵劖鐓涢柛銉e劚閻忊晠鏌涚仦璇插闁哄本娲熷畷鐓庘攽閸パ屾П闂佽瀛╅懝楣冣€﹂悜钘夎摕闁靛ǹ鍎弨浠嬫煕閳╁厾顏堟偟閺冨倻纾藉ù锝囨嚀閺佸墽绱撳鍕獢鐎殿喖顭烽弫鎾绘偐閼碱剦妲规俊鐐€栭崝褏鈧潧鐭傞崺鈧い鎺嶇贰濞堟粓鏌″畝鈧崰鏍箺鎼淬劌纾兼慨姗嗗墰閵堫噣姊绘担绛嬪殐闁哥噥鍋婂畷鎯邦樄闁哥偛鐖煎铏圭磼濡崵鍙嗛梺纭呭Г缁海鍒掗弮鍫晢闁告洦鍓涢崢浠嬫⒑缂佹◤顏勵嚕閸洖绠归柟鎵閻撶喖骞掗幎钘夌閻忕偠妫勭粊顐︽⒒娴d警鏀伴柟娲讳簽缁骞嬮敐鍥╊啍闂傚倸鍊峰ù鍥р枖閺囥垹闂柨鏇炲€哥粻顖炴煥閻曞倹瀚�
闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曢敂钘変罕濠电姴锕ら悧鍡欑矆閸喓绠鹃柟瀛樼懃閻忣亪鏌涚€n剙鏋戦柕鍥у瀵粙顢曢~顓熷媰闂備胶绮敮锛勭不閺嶎厼钃熼柡鍥╁枔缁犻箖鏌涢…鎴濇灈濠殿喖閰e铏规嫚閸欏鏀銈嗘肠閸℃鍊掗梻鍌欑劍閹爼宕曢懡銈呯筏闁兼亽鍎插▍鐘绘煙缂佹ê纭€鐟滅増甯楅崑鍌炲箹濞n剙鐏╂繛鍫燁殜閹鈻撻崹顔界亪闂佺粯鐗曢崥瀣┍婵犲洦鍊婚柤鎭掑劜濞呭棝姊洪崨濠冨瘷闁告劦浜滅敮妤€鈹戦悩鍨毄闁稿鐩幃娲Ω瑜嶉崹婵堚偓鍏夊亾闁逞屽墴閹崇偤鏌嗗鍡楁異闂佸啿鎼€氼剙鐨繝鐢靛仜椤曨參宕㈣閹椽濡搁埡浣告優闂佺ǹ鐬奸崑鐐烘偂濞戙垺鐓曢柟鎵虫櫅婵″ジ鏌嶈閸撴繂鐣烽悽闈涘灊闁哄啫娲㈡禍褰掓煙閻戞ɑ灏甸柛娆忔閳规垿鎮欓弶鎴犱紘濠电偛鎳忓ú婊堝焵椤掍胶鍟查柟鍑ゆ嫹闂傚倸鍊峰ù鍥敋瑜嶉湁闁绘垼妫勯弸渚€鏌熼梻鎾闁逞屽厸閻掞妇鎹㈠┑瀣;妞ゆ牗姘ㄧ粔铏光偓瑙勬礀瀹曨剝鐏掗柣鐘叉搐濡﹤岣块鐐粹拻濞达綁顥撴稉鑼磼闊厾鐭欑€殿喚鏁婚、妤呭礋椤掆偓娴犲ジ姊洪崨濠庢畼闁稿﹥鍨堕幆鏃堝Ω閵壯冣偓鐐烘⒑閹稿海绠撻柟鍐查叄閸╂稒寰勭€n剛顔曢柣搴f暩鏋悽顖氱埣閺岀喖鎼归顒冣偓鍧楁煟濞戝崬鏋ら柍褜鍓ㄧ紞鍡涘窗閺嶎偆涓嶉柨婵嗘缁♀偓婵犵數濮撮崐鎼侇敂椤愶附鐓欓柡瀣靛亜婵倹鎱ㄦ繝鍐┿仢鐎规洏鍔嶇换婵嬪礃閿濆棗顏哥紓鍌氬€风粈渚€顢栭崱娆愭殰闁跨喓濮寸粻姘舵煕閵夛絽濡兼い鏇憾閺屸剝寰勭€n亞浠撮梺鍝ュ亼閸旀垵顫忓ú顏勭闁绘劖褰冩慨宀勬⒑閸涘﹥鐓ョ紒澶婄秺閺佹劙鎮欓崫鍕敤濡炪値鍏欓崕閬嶆煀閿濆懐鏆﹂柛顐f礃閺呮煡鏌涘☉鍗炲箰闁规灚鍊曢埞鎴︽倷瀹割喖娈堕梺鍛婎焼閸パ呯枃濠殿喗銇涢崑鎾搭殽閻愬弶顥㈢€规洘锕㈤、娆撴嚃閳哄﹥效濠碉紕鍋戦崐鏍礉閹达箑鍨傛繛宸簼閸庡﹪鏌¢崘锝呬壕缂備胶绮换鍫熸叏閳ь剟鏌ㄥ┑鍡橆棤闁靛棙鍔欓弻锝嗘償閵忥絽顥濋梺纭呭Г缁苯宓勯梺瑙勫婢ф寮查幖浣圭叆闁绘洖鍊圭€氾拷闂傚倸鍊搁崐鐑芥嚄閸洖绠犻柟鍓х帛閸嬨倝鏌曟繛鐐珔闁搞劌鍊块弻娑㈠箛椤撶姰鍋為梺鍓插亽娴滎亪寮婚悢琛″亾閻㈢櫥鐟扮毈闂備胶绮敮鎺楁晝閵堝鐓橀柟杈鹃檮閸嬫劙鏌涘▎蹇fЧ闁诡喗鐟ラ埞鎴︽倷閸欏娅¢梺鎼炲妼缂嶅﹤锕㈡笟鈧娲箰鎼达絿鐣靛┑鈽嗗亝閻╊垶骞嗙仦鐐劅闁靛⿵濡囬崢鎾绘偡濠婂嫮鐭掔€规洘绮岄埢搴ㄥ箻瀹曞洨鏋冮梻浣哥秺閸嬪﹪宕楀鈧鎼佸籍閸喓鍘甸柡澶婄墦缁犳牕顬婇鈧弻娑氣偓锝庝憾閸庢棃鏌$仦鍓ф创妞ゃ垺娲熸俊鍫曞川椤旈敮鍋撻崜褏纾介柛灞炬皑琚﹂梺绋款儐閹瑰洤顫忕紒妯诲闁荤喐澹嗘禍浼存⒑缂佹ê閲滅紒鐘虫尰娣囧﹪鎮介崨濠傗偓鐑芥煟閵忋垺鏆╂い锔诲灦濮婃椽宕崟顐f闂佺粯顨呭Λ娑㈡儉椤忓浂妯勯梺鍝勬湰閻╊垶鐛崶顒夋晬婵炴垶鍝庨埀顒€锕︾槐鎾存媴閹绘帊澹曢梻浣芥硶閸o箓骞忛敓锟�闂傚倸鍊峰ù鍥敋瑜忛懞閬嶆嚃閳轰胶绛忔繝鐢靛У閻旑剛绱為弽褜鐔嗛柤鎼佹涧婵洭鏌涢妸銉モ偓鍦崲濠靛洨绡€闁稿本鍑规导鈧俊鐐€愰弲鐘诲绩闁秴桅闁告洦鍨扮粻鎶芥煙鐎涙ḿ绠栨繛鍫e皺缁辨挻鎷呮搴ょ獥闂侀潻缍囩徊浠嬵敋閿濆閱囬柡鍥╁枎閳ь剛鍏橀弻娑⑩€﹂幋婵呯凹闂佺粯绻嶆禍婊堝煘閹达附鍊烽柤纰卞墮椤も偓闂備焦鎮堕崝灞炬櫠鎼达絽鍨濇慨妯垮煐閻掕偐鈧箍鍎遍幊鎰板礉閹绢喗鈷戦柛娑橈工婢瑰啴鏌涘☉鍗炵伇婵″樊鍓氱换婵嬫偨闂堟刀銉︺亜閿濆嫮鐭欓柛鈹惧亾濡炪倖宸婚崑鎾绘煕閻旈攱鍋ラ柛鈹惧亾濡炪倖甯掗崐褰掑吹閳ь剟姊洪幐搴㈢8闁搞劍妞介獮蹇涘川閺夋垹顦梺鍦帛鐢顢橀崸妤佲拻濞达絽鎳欒ぐ鎺戝珘妞ゆ帒鍊瑰畷鑼偓骞垮劚椤︻垶鎳滆ぐ鎺撶厵缂備降鍨归弸鐔兼煟閹惧鎳囬柟顔筋殔閳藉鈻庣€n剛绐楀┑鐘媰鐏炶棄顫紓浣虹帛缁诲牓宕洪埀顒併亜閹哄秶鍔嶅┑顖涙尦閺屾盯鏁傜拠鎻掔闂佺娅曠换鍫濐潖濞差亜绀堥柤纰卞墮鐢儵姊虹粙娆惧剰闁硅櫕鍔楀Σ鎰版倷閸濆嫮鍔﹀銈嗗笒鐎氼參鍩涢幋锔界厽闁绘梻枪椤ュ鏌熼悾灞解枅闁哄矉绲借灃闁告劑鍔嬮幋鐑芥⒑閻熸壆鐣柛銊ョ秺閿濈偛鈹戠€e灚鏅為梺鍏间航閸庤櫕绂嶅▎鎾粹拻濞达絽鎲¢幆鍫熺箾鐠囇呯暤闁诡垰鐭傞、娆撴倷椤掆偓鎼村﹪姊虹化鏇炲⒉缂佸甯¢幃鈥斥枎閹扳晙绨婚梺鍦亾椤ㄥ懘宕悧鍫㈩浄闁哄鍩堝〒濠氭煏閸繃顥炲璺哄閺屾盯骞樼捄鐑樼€婚梺浼欑悼閸忔﹢寮幇鏉垮耿婵炲棙鍨瑰Σ鍥⒒娴e憡鍟為柛鏂跨箻瀵煡鍩℃担鍕剁秮椤㈡盯鎮欑划瑙勫闂備礁銈搁埀顒佺☉瀹撳棝鏌涘┑鍫濆妺闁逛究鍔嶇换婵嬪磼閵堝洤鎮戦梻浣告惈閼活垶鎮ч幘鑽ゅ祦婵せ鍋撴い銏$懇閹虫牠鍩℃繝鍌涘€涢梻鍌氬€烽懗鍫曞箠閹剧粯鍋ら柕濞у啫鐏婇悗骞垮劚濞层倝宕瑰┑瀣叆闁哄洨鍋涢埀顒€缍婇幃锟犲Ψ閿斿墽顔曢梺鐟邦嚟閸婃牠骞嬪┑鎾光偓鍧楁煟濡も偓閻楀繒寮ч埀顒勬⒑闁偛鑻晶瀛橆殽閻愯尙效妞ゃ垺鐟╅獮鍡氼槻閻熸瑱闄勭换婵嬫偨闂堟稐绮跺┑鈽嗗亝椤ㄥ懘婀佹俊鐐差儏濞寸兘鎮崇紒妯圭箚闁靛牆鎳庨弳鐔虹棯閹佸仮闁哄矉绻濆畷鎺戔槈閸楃偛濡奸梻浣呵规鍝ユ崲閹烘鐒垫い鎺戝枤濞兼劙鏌熼崫銉囩鐏嬪┑鐘绘涧濡盯寮抽敂鑺ュ弿婵☆垰鐏濋悡鎰版煕鐎n偄濮夌紒杈ㄦ尰閹峰懐鎷归婊呯獥闁荤喐绮庢晶妤呭垂閸噮娼栨繛宸簻缁犱即骞栫划鍏夊亾閾忣偆浜為梻鍌欒兌閹虫捇宕甸弽顓炵闁跨噦鎷�闂傚倸鍊峰ù鍥敋瑜嶉湁闁绘垼妫勯弸渚€鏌熼梻瀵割槮缂佺姷濞€閺岀喖骞戦幇顒傚帿闂佸搫妫欑划宥夊Φ閸曨垰绠涢柛鎾茶兌閺嗙姷绱撴担鎻掍壕闂佺硶鍓濆玻璺ㄧ不妤e啯鐓欓悗鐢告櫜缁辫櫕銇勮箛鎾跺闁哄绶氶弻娑㈩敃閿濆棛顦ㄩ梺绋匡功閺佹悂鎯€椤忓牜鏁囬柣鎰綑椤庢稑鈹戦悙鎻掓倯闁告梹鐟╁璇测槈閵忕姈鈺呮煥閺傚灝鈷旈柣鎾茶兌缁辨挻鎷呯粙搴撳亾閸︻厽鏆滈柨鐔哄О閳ь兛绀佽灃濞达絿鎳撻鎾剁磽娴e壊鍎忛柡鍛箞椤㈡洟鏁傜憴锝嗗闂佽崵鍠愰悷銉р偓姘煎幘濞嗐垽鎳犻鍌滐紲缂傚倷鐒﹂敋闁诲繐顕埀顒侇問閸n噣宕戞繝鍥モ偓浣糕枎閹炬潙浠奸悗鍏夊亾濠电姴鍟伴妶顐⑩攽閻樻剚鍟忛柛鐘愁殜婵¢潧鈽夐姀鐘碉紱闂佺懓澧界划顖炴偂閸愵亝鍠愭繝濠傜墕缁€鍫熺箾閸℃ɑ灏痪鎯х秺閺屾稑鈹戦崟顐㈠Б缂備讲鍋撳┑鐘叉处閸婄敻鏌ㄥ┑鍡涱€楅柡瀣枛閺屾稒鎯旈敍鍕懷囨煛鐏炲墽娲寸€殿喗鎸虫俊鎼佸Ψ閵壯呮喛闂佽崵鍠愮划搴㈡櫠濡ゅ啯鏆滄俊銈呮噺閸嬪倿鏌嶈閸撴瑩鈥旈崘顔嘉ч柛鈩冾殘閻熴劑姊洪幐搴㈢┛濠碘€虫川閸掓帡宕奸妷锔芥闂佽法鍣﹂幏锟�闂傚倸鍊搁崐宄懊归崶銊х彾闁割偆鍠嗘禒鍫㈢磼鐎n偒鍎ユ繛鍏肩墪閳规垿鎮╁畷鍥舵殹闂佺粯甯$粻鏍蓟閻旇櫣纾奸柕蹇曞У閻忓牆鈹戦埥鍡椾簼闁挎洏鍨藉濠氭晲婢跺浜滅紓浣割儐椤戞瑥螞閸℃瑧纾肩紓浣靛灩楠炴劙鏌涚€n偅宕屾慨濠勭帛閹峰懘鎮烽柇锕€娈濈紓鍌欑椤戝棛鏁幒妤佸仼婵犻潧顑呯粻鐟懊归敐鍛喐闁挎稒鐩娲传閸曨厜鐘绘煕閺傚潡鍙勯柕鍡楁嚇閹粓鎳為妷褍寮抽梻浣虹帛濞叉牠宕愰崷顓涘亾濮樼偓瀚�:webmaster@jscj.com闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱閻庡厜鍋撻柛鏇ㄥ亞閿涙盯姊洪悷鏉库挃缂侇噮鍨堕幃锟犳偄閹肩偘绨诲銈嗗姦閸嬪嫰鐛Ο鑲╃<濞达絽鎼崢鎾煛瀹€瀣М闁轰礁鍊婚幑鍕Ω瑜忛崢顖炴⒒娴h姤銆冪紒鈧担铏圭煋鐟滅増甯掗弸渚€鏌熼崜褏甯涢柡鍛倐閺屻劑鎮ら崒娑橆伓4008816886

相关文章

无相关信息
更新时间2022-03-13 11:11:04【至顶部↑】
联系我们 | 邮件: webmaster@jscj.com | 客服热线电话:4008816886(QQ同号) |  濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌熼梻瀵割槮缁炬儳娼¢弻鐔衡偓鐢登瑰暩缂備讲鍋撳┑鐘叉处閻撳啰鎲稿⿰鍫濈婵ǹ娉涙闂佸憡娲﹂崹浼村础閹惰姤鐓曢柍鈺佸枤濞堟梹銇勮箛锝勯偗闁哄本绋戦埢搴ょ疀閺囩媭鍟嬮梻浣告惈閻绱炴笟鈧悰顕€宕堕澶嬫櫔闂佸憡渚楅崰妤呮儊濠婂牊鈷掑ù锝呮嚈瑜版帩鏁勯柛鈩冪☉缁犳煡鏌涢妷顔煎闁稿蓱閵囧嫰寮村Δ鈧禍楣冩倵鐟欏嫭绀€缂傚秴锕妴浣糕枎閹惧磭鐓戦梺闈涳紡閸曞墎纭€婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繑銇勯幘鍗炵仼缁炬儳顭烽弻鐔煎礈瑜忕敮娑㈡煟閹惧瓨绀嬮柡灞炬礃瀵板嫮鈧綆浜炴禒鎾⒑閸忓吋銇熼柛銊ゅ嵆閸┿垽骞樺ú缁樻櫇闂侀潧绻嗛弲婊呪偓闈涚焸濮婃椽妫冨☉姘暫濠碘槅鍋呴悷鈺勬"闂佺硶鍓濊彠濞存粍绮撻弻锟犲磼濮橆剛娈归梺鍛婃⒒閸犳牠寮婚悢鑲╁祦闁割煈鍠氭导鍫ユ⒑鏉炴壆鍔嶉柟鐟版喘瀵偊骞樼紒妯绘闂佽法鍣﹂幏锟�

付款方式留言簿投诉中心网站纠错二维码手机版

客服电话: