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

Java雜談之類(lèi)和對(duì)象 封裝 構(gòu)造方法以及代碼塊詳解

 更新時(shí)間:2021年09月26日 17:25:16   作者:愛(ài)內(nèi)卷的王同學(xué)  
在現(xiàn)實(shí)世界中,真實(shí)存在的東西,比如吉普車(chē),卡丁車(chē),貨車(chē)。我們?cè)谡J(rèn)識(shí)它的時(shí)候就會(huì)在腦海中將它抽象為一種類(lèi)別叫做車(chē)。 好了,那再計(jì)算機(jī)世界中,它同樣的也會(huì)這樣做

Java當(dāng)中的類(lèi)和對(duì)象

1. 類(lèi)和對(duì)象的初步認(rèn)知

java 是一門(mén)面向?qū)ο蟮恼Z(yǔ)言,所謂面向?qū)ο笥袆e于面向過(guò)程,面向?qū)ο笫侵恍鑼?duì)象之間的交互即可完成任務(wù),但是面向過(guò)程的話(huà),需要我們將每一個(gè)步驟都詳細(xì)地做出來(lái)。比如,以洗衣服為例,如果是面向過(guò)程來(lái)襲衣服,那么我們首先需要衣服,然后放入盆中,之后加水,放洗衣粉,最后搓揉。但是如果面向?qū)ο蟮脑?huà),第一步只需要找對(duì)象,找出衣服,洗衣粉,洗衣機(jī),水這些對(duì)象,然后全部放到洗衣機(jī)里面就行了。這就是對(duì)象之間的交互。

java 當(dāng)中的類(lèi)是對(duì)象的綜合,大打個(gè)比方,對(duì)象是房子,那么類(lèi)就是設(shè)計(jì)圖紙,每一個(gè)對(duì)象都是類(lèi)具體的個(gè)體。

2. 類(lèi)的實(shí)例化

總之,通過(guò)上面的分析,我們不難得出這樣的結(jié)論:類(lèi)似對(duì)象的統(tǒng)稱(chēng),對(duì)象就是這個(gè)類(lèi)的具體化實(shí)例,一個(gè)類(lèi)可以產(chǎn)生無(wú)數(shù)個(gè)對(duì)象。那么但我在寫(xiě)代碼的是就要進(jìn)行類(lèi)的實(shí)例化,即從類(lèi)(也就是模板)中抽出一個(gè)具體的對(duì)象(相當(dāng)于實(shí)物)。

基本語(yǔ)法:

//創(chuàng)建類(lèi)
class <class_name> {
    field;//屬性
    method;//成員方法
}
//實(shí)例化一個(gè)對(duì)象
<class_name> <對(duì)象名> = new <class_name>();

class 為定義類(lèi)的關(guān)鍵字,ClassName 為類(lèi)的名字,{}中為類(lèi)的主體。(注意:java的類(lèi)的命名是使用大駝峰,此處附上 java 組成部分的命名規(guī)則)

fdzf7F.md.jpg

在類(lèi)中 但是在成員方法外面 的元素可以稱(chēng)其為:字段 / 屬性 / 成員變量(三種皆可)。

類(lèi)中的函數(shù)稱(chēng)為:成員方法。

類(lèi)的實(shí)例化方法:

class Person {
    public int age; //字段
    public String name;
    public String sex;
    public void eat() { //方法
        system.out.println("吃飯");
    }
    public void sleep() {
        system.out.println("睡覺(jué)");
    }
}

3. 類(lèi)的成員

fT3WL9.jpg

字段(屬性/成員變量)

class Person { //創(chuàng)建一個(gè)類(lèi)
    public String name; //成員變量
    public int age;
    public void eat() {
        int a = 0;//局部變量
        System.out.println("吃飯");
    }
}
class Test { //創(chuàng)建一個(gè)類(lèi)
    public static void main(String[] args) {//主函數(shù)
        Person person = new person();
        //實(shí)例化出來(lái)一個(gè)具體對(duì)象
        System.out.println(person.name);//打印出來(lái)
        System.out.println(person.age);
        person.eat();
    }
}
//執(zhí)行結(jié)果
null
0

注意事項(xiàng):

  • 如上圖的第 13 行和第 14 行代碼,使用點(diǎn)號(hào)可以訪(fǎng)問(wèn)實(shí)例化對(duì)象里面的字段
  • 如果成員變量沒(méi)有賦初始值

那么引用類(lèi)型默認(rèn)是 NULL,基本類(lèi)型默認(rèn)是0

如果是boolean類(lèi)型的,默認(rèn)是false

如果是char 類(lèi)型的,默認(rèn)是 “\u0000”(其實(shí)就是空)

  • 訪(fǎng)問(wèn)既包含了讀也包含了寫(xiě),讀,即可以用點(diǎn)號(hào)找到成員變量 ,寫(xiě),即可以給他賦值(本人認(rèn)為這是一句廢話(huà),但是教科書(shū)看到了就bb一句)
  • 此外,如果將引用設(shè)為null 那么后面再用點(diǎn)號(hào)來(lái)引用的話(huà)就會(huì)發(fā)生空指針異常,代碼就會(huì)報(bào)錯(cuò)。(如下圖所示)

fseKmT.md.jpg

fseRnf.md.jpg

  • 第 11 行實(shí)例化時(shí)person 是一個(gè)引用變量,此時(shí)會(huì)在計(jì)算機(jī)的棧空間里面開(kāi)辟一塊空間用于存放 person,在堆上開(kāi)辟一塊空間用于存放對(duì)象,person 引用的就是 ??臻g上面的對(duì)象。
  • 同樣地,第五行中的 a 因?yàn)樗幵诤瘮?shù)之中所以說(shuō)它是一個(gè)局部變量,所以它是被存到了??臻g當(dāng)中的。

在這里插入圖片描述

方法

java 中的方法說(shuō)白了就是函數(shù),本質(zhì)上就是 對(duì)象做出的一種行為

class Person {
    public int age = 18;
    public String name = "張三";
    public void show() {
        System.out.println("我叫 + name,今年 + age + 歲");
    }
}
class test {
    public static void main(String[] args) {
        Person person = new Person();
        person.show();
    }
}

如上,就是說(shuō)張三這個(gè)對(duì)象他有一個(gè)要執(zhí)行的動(dòng)作叫做 show

但是若想要想創(chuàng)建一個(gè)其他對(duì)象,再用show打印的話(huà),需要 person 用點(diǎn)號(hào)來(lái)引用類(lèi)里面的相關(guān)屬性

Person person2 = new Person();
person2.name = "李四";
person2.age  = 20;
person2.show();

但是要注意的是,此處的代碼最上面 那個(gè)Person 類(lèi)在示例化的時(shí)候就已經(jīng)給成員變量賦初值了,這其實(shí)是不對(duì)的,因?yàn)樯厦嬉呀?jīng)說(shuō)過(guò)了,類(lèi)其實(shí)是一切對(duì)象的總和,他是不可以這樣被具體化的(簡(jiǎn)單來(lái)講其實(shí)就是不可能所有人都叫張三)。

注意事項(xiàng):在真正開(kāi)發(fā)的時(shí)候我們總不可能每當(dāng)要打印的時(shí)候都去寫(xiě)show 函數(shù)的,所以是有快捷方法的,那就是 toString 方法,鼠標(biāo)右鍵點(diǎn)擊一下找到generate 點(diǎn)擊之后然后就會(huì)跳轉(zhuǎn),之后就可以找到了。

其實(shí)原理就是 println 的打印酒氣本源其實(shí)是調(diào)用了一個(gè)叫做 object 的類(lèi) 里面的 toString 方法,這里我們的操作就是重寫(xiě)該方法,這樣改完之后下面的代碼再用 println 打印的時(shí)候就可以直接打出我們想要的效果了。

fstcm4.jpg

如上圖兩處紅色的方框便是我們更改的,那么之后每次打印代碼輸出我們想要的效果。如下圖,上面一行是 show()函數(shù)輸出的結(jié)果,而下面一行是 重寫(xiě) toString 輸出的效果

fsNi7j.jpg

fsNBEd.md.jpg

static 關(guān)鍵字

(static 可以修飾的有:字段、方法、代碼塊、類(lèi))

被 static 修飾的東西不需要實(shí)例化對(duì)象,用對(duì)象去點(diǎn)xx 來(lái)訪(fǎng)問(wèn),他是可以直接用類(lèi)名點(diǎn)xx 來(lái)訪(fǎng)問(wèn)。

修飾字段

靜態(tài)的成員變量(或稱(chēng):類(lèi)變量)是獨(dú)立放在方法區(qū)的,只有一份,以下面的例題為例

class TestDemo{
   public int a;
   public static int count;
}
public class Main{
   public static void main(String[] args) {
   TestDemo t1 = new TestDemo();
   t1.a++;
   TestDemo.count++;
   System.out.println(t1.a);
   System.out.println(TestDemo.count);
   System.out.println("============");
   t2 = new TestDemo();
   t2.a++;
   TestDemo.count++;
   System.out.println(t2.a);
   System.out.println(TestDemo.count);
  }
}

fsvZv9.jpg

所以由a 和count 的存儲(chǔ)方式就可以很容易得出答案,每當(dāng)我們新實(shí)例化一個(gè)對(duì)象,a 就會(huì)隨之重創(chuàng),所以a 是會(huì)變的,但是 count只有一份,只存于方法區(qū),所以 當(dāng)重新 new 一個(gè)對(duì)象的時(shí)候,count 會(huì)繼承上一次的值。

修飾方法

  • 靜態(tài)方法還是開(kāi)辟棧幀的
  • 靜態(tài)方法是可以直接被調(diào)用的,不需要像普通方法那樣想實(shí)例化對(duì)象再用對(duì)象來(lái)引用。也因此主函數(shù)的前面是要加 static的 ,因?yàn)閟tatic 是可以讓主函數(shù)直接通過(guò)jvm 來(lái)調(diào)用的,如果不用這種方式的話(huà)那么將必須在主函數(shù)里面 new 一個(gè)對(duì)象,讓對(duì)象來(lái)調(diào)用主函數(shù),但是主函數(shù)目前的問(wèn)題是,new 對(duì)象必須在主函數(shù)里面,但問(wèn)題是我現(xiàn)在主函數(shù)進(jìn)都進(jìn)不來(lái),要想進(jìn)來(lái)就必須調(diào)用主函數(shù),要調(diào)用就必須在主函數(shù)里面 new 對(duì)象,很明顯,這是一個(gè)自相矛盾的事情,要想解決這個(gè)矛盾就必須給主函數(shù)加上 static。
  • 非靜態(tài)方法可以直接調(diào)用靜態(tài)方法和非靜態(tài)方法(就是直接在其內(nèi)部寫(xiě)上函數(shù)名加括號(hào)就代表調(diào)用),但是靜態(tài)方法不可直接調(diào)用非靜態(tài)方法,能直接調(diào)用的只有靜態(tài)方法,也就是說(shuō)主函數(shù)要想直接調(diào)用其他方法,那就必須要讓其他函數(shù)加上 static ,不然的話(huà)還要再創(chuàng)建對(duì)象,就很麻煩。

修飾代碼塊(暫不講)

修飾類(lèi)(暫不講)

4. 封裝

本質(zhì)上是使用private 和 public 和這兩個(gè)關(guān)鍵字來(lái)實(shí)現(xiàn)函數(shù)的封裝。因?yàn)槲覀冎皩?xiě)的代碼都是就直接用 public 來(lái)修飾的,這樣的,我們就必須要特地去了解類(lèi)里面的情況,這會(huì)讓代碼寫(xiě)起來(lái)非常麻煩,并且如果類(lèi)的創(chuàng)建者篡改了原來(lái)類(lèi)里面成員變量的名字,那么后面的代碼也要跟著改,安全系數(shù)很低。所以只要我們用 private 來(lái)封裝成員變量,讓使用者不能直接和成員變量產(chǎn)生聯(lián)系,而是和類(lèi)里面的函數(shù)產(chǎn)生聯(lián)系。如果成員變量產(chǎn)生變更,類(lèi)的調(diào)用者不需要做出任何修改。

總而言之,當(dāng)被 private 修飾之后它的權(quán)限就被降低了,只能在當(dāng)前類(lèi)里面使用。被 private 修飾的只能用類(lèi)名來(lái)引用。

  • getter 和 setter

但是當(dāng)我們修改自己的封裝的字段的時(shí)候,不可能每次都把 getName()和setName ()寫(xiě)出來(lái),所以就可以直接使用快捷的方式,鼠標(biāo)右擊 選中g(shù)enerate 再選中 自己要操作的項(xiàng)即可。(以下為示例),還有 this 表示當(dāng)前所在對(duì)象的引用。

f2oHRH.jpg

5. 構(gòu)造方法

構(gòu)造方法特點(diǎn):沒(méi)有返回值,方法的名字和類(lèi)名是相同的。

//以下為一個(gè)無(wú)參數(shù)的構(gòu)造方法示例
public Person() {
    
}

構(gòu)造方法的作用是用來(lái)初始化對(duì)象的,即在對(duì)象還未創(chuàng)建的時(shí)候?yàn)閷?duì)象的成員變量賦初值,因?yàn)閷?duì)象的創(chuàng)建是要分兩步走的,先為對(duì)象分配內(nèi)存,再為對(duì)象分配合適的構(gòu)造方法,也就是說(shuō)當(dāng)我們想要在構(gòu)造方法當(dāng)中提前給對(duì)象賦值的時(shí)候是可以用 this的,而且由于 this 本質(zhì)上是在對(duì)象創(chuàng)建后 jvm 給該對(duì)象分配的相應(yīng)的指針,但是也正是也因?yàn)閠his 可以在構(gòu)造函數(shù)之中使用(此時(shí)的對(duì)象還沒(méi)有完全創(chuàng)建好)這就可以說(shuō)明 this 其實(shí)是對(duì)象的引用,并非對(duì)象本身。

在我們實(shí)例化對(duì)象的時(shí)候,編譯器會(huì)默認(rèn)攜帶一個(gè)無(wú)參數(shù)構(gòu)造方法,但是如果同一個(gè)類(lèi)里面已經(jīng)有了其他構(gòu)造方法,那么就不會(huì)自動(dòng)攜帶這種方法。以下三段代碼皆為構(gòu)造方法,并且他們的關(guān)系是重載。

fWAS3Q.jpg

6. this 用法

this. 成員變量

this. 成員方法

this ( ) 用 this 來(lái)調(diào)用構(gòu)造函數(shù),構(gòu)造函數(shù)里面有幾個(gè)參數(shù) this 的括號(hào)里面就有幾個(gè)參數(shù)(注意,this 調(diào)用構(gòu)造方法必須放在第一行)

另外,之所以說(shuō) this 是一個(gè)引用對(duì)象而不是對(duì)象是因?yàn)椋瑢?duì)象的產(chǎn)生要分兩步走,第一步是為對(duì)象分配內(nèi)存,第二步是調(diào)用合適的構(gòu)造方法,這兩步完成了之后才能說(shuō)我們的對(duì)象被創(chuàng)建了,但是,如果說(shuō)我們的 this 在一個(gè)構(gòu)造方法之中創(chuàng)建的,就可以很明顯看出 this 不是對(duì)象而是引用對(duì)象,因?yàn)榇藭r(shí)的 this 還在構(gòu)造函數(shù)的代碼中,也就是說(shuō) this 使用時(shí)構(gòu)造函數(shù)對(duì)象還沒(méi)有被創(chuàng)建出來(lái),所以說(shuō)這個(gè)時(shí)候的 this 僅僅只是對(duì)象的引用。
大多數(shù)時(shí)候類(lèi)里面使用 this 的時(shí)候,對(duì)象還沒(méi)有被創(chuàng)建出來(lái),這里的 this 就是當(dāng)前類(lèi)的對(duì)象的引用。

此外,靜態(tài)方法當(dāng)中不能出現(xiàn) this (靜態(tài)只能靠類(lèi)名來(lái)引用)。

關(guān)于引用的幾個(gè)注意事項(xiàng):

  • 引用是否只能存在于棧上?

答:不一定,因?yàn)楫?dāng)你在類(lèi)里面創(chuàng)建一個(gè)成員變量是數(shù)組的時(shí)候,在你的對(duì)象實(shí)例化之后,數(shù)組的那個(gè)引用變量就會(huì)被放到對(duì)象上面,但是數(shù)組的引用變量本質(zhì)上還是引用它會(huì)指向自己數(shù)組里面的元素的。

class Person {
    private String name;
    private int age;
    private int[] elem = new int[10];
}//以下為原理圖

ffhwWQ.jpg

  • 引用可以指向引用嗎?

答:不可以,引用只能指向?qū)ο蟆?/p>

Person person = new person();
person1 = new person();
person1 = new person();
person1 = new person();
person1 = new person();

從上面這串代碼可以明顯看出,person1 這個(gè)引用指向的對(duì)象一再被賦予新的對(duì)象,但是盡管如此這并不意味著 person1 就同時(shí)指向了多個(gè)對(duì)象,最終有效的對(duì)象只有第五行,也就是說(shuō),person1 指向了第五行的那個(gè)對(duì)象,其他的都沒(méi)用了。

一個(gè)引用被賦值null 代表它不指向任何對(duì)象

person = null;//示例

7. 代碼塊

代碼塊分為

  • 本地代碼塊(定義在方法里面的)//非重點(diǎn)
  • 實(shí)例代碼塊(構(gòu)造代碼塊)
{
    this.age = 19;
}//用于初始化成員變量
  • 靜態(tài)代碼塊
static {
    
}//用于提請(qǐng)準(zhǔn)備數(shù)據(jù)
  • 同步代碼塊(暫不講)

在程序執(zhí)行的時(shí)候,執(zhí)行順序?yàn)椋红o態(tài)代碼塊先執(zhí)行(即便放在最后面也是如此),之后實(shí)例代碼塊再執(zhí)行,最后執(zhí)行構(gòu)造方法。還有,就是在一個(gè)類(lèi)之中,靜態(tài)的代碼只執(zhí)行一次。

并且當(dāng)一段代碼之中只有相同類(lèi)型的,就會(huì)安從上往下的順序執(zhí)行。例如,如果一個(gè)類(lèi)之中既有靜態(tài)的字段,又有靜態(tài)代碼塊,那么誰(shuí)在前面,誰(shuí)先執(zhí)行。
(構(gòu)造代碼塊)

{
    this.age = 19;
}//用于初始化成員變量
  • 靜態(tài)代碼塊
static {
    
}//用于提前準(zhǔn)備數(shù)據(jù)
  • 同步代碼塊(暫不講)

在程序執(zhí)行的時(shí)候,執(zhí)行順序?yàn)椋红o態(tài)代碼塊先執(zhí)行(即便放在最后面也是如此),之后實(shí)例代碼塊再執(zhí)行,最后執(zhí)行構(gòu)造方法。還有,就是在一個(gè)類(lèi)之中,靜態(tài)的代碼只執(zhí)行一次。

并且當(dāng)一段代碼之中只有相同類(lèi)型的,就會(huì)安從上往下的順序執(zhí)行。例如,如果一個(gè)類(lèi)之中既有靜態(tài)的字段,又有靜態(tài)代碼塊,那么誰(shuí)在前面,誰(shuí)先執(zhí)行。

到此這篇關(guān)于Java雜談之類(lèi)和對(duì)象 封裝 構(gòu)造方法以及代碼塊詳解的文章就介紹到這了,更多相關(guān)Java 類(lèi)與對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java使用zookeeper實(shí)現(xiàn)的分布式鎖示例

    java使用zookeeper實(shí)現(xiàn)的分布式鎖示例

    這篇文章主要介紹了java使用zookeeper實(shí)現(xiàn)的分布式鎖示例,需要的朋友可以參考下
    2014-05-05
  • Java讀取properties配置文件的8種方式匯總

    Java讀取properties配置文件的8種方式匯總

    讀取.properties配置文件在實(shí)際的開(kāi)發(fā)中使用的很多,總結(jié)了一下,下面這篇文章主要給大家介紹了關(guān)于Java讀取properties配置文件的8種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • springboot集成普羅米修斯(Prometheus)的方法

    springboot集成普羅米修斯(Prometheus)的方法

    這篇文章主要介紹了springboot集成普羅米修斯(Prometheus)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 一篇文章超詳細(xì)的介紹Java繼承

    一篇文章超詳細(xì)的介紹Java繼承

    Java中的繼承是一種機(jī)制,表示為一個(gè)對(duì)象獲取父對(duì)象的所有屬性和行為,下面這篇文章主要給大家介紹了關(guān)于Java繼承的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 由淺到深帶你詳談Java實(shí)現(xiàn)數(shù)組擴(kuò)容的三種方式

    由淺到深帶你詳談Java實(shí)現(xiàn)數(shù)組擴(kuò)容的三種方式

    這篇文章主要詳細(xì)介紹了Java實(shí)現(xiàn)數(shù)組擴(kuò)容的三種方式,新建一個(gè)數(shù)組,把原來(lái)數(shù)組的內(nèi)容搬到新數(shù)組中,使用system.arraycopy(),使用java.util.Arrays.copyOf()這三種方式,具有一定的參考價(jià)值,需要的朋友可以借鑒一下
    2023-06-06
  • SpringCloud的Config配置中心詳解

    SpringCloud的Config配置中心詳解

    這篇文章主要介紹了SpringCloud的Config配置中心詳解,SpringCloud Config為微服務(wù)架構(gòu)中的微服務(wù)提供集中化的外部配置支持,配置服務(wù)器為各個(gè)不同微服務(wù)應(yīng)用的所有環(huán)境提供了一個(gè)中心化的外部配置,需要的朋友可以參考下
    2023-07-07
  • Java 遍歷 String 字符串所有字符的操作

    Java 遍歷 String 字符串所有字符的操作

    這篇文章主要介紹了Java 遍歷 String 字符串所有字符的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • 解決IDEA報(bào)錯(cuò)war?exploded?is?not?valid問(wèn)題

    解決IDEA報(bào)錯(cuò)war?exploded?is?not?valid問(wèn)題

    在使用IntelliJ?IDEA時(shí)遇到'[projectname]warexploded'無(wú)效的問(wèn)題,可以通過(guò)清除項(xiàng)目列表、重新導(dǎo)入項(xiàng)目和配置新的Tomcat來(lái)解決,確保在Tomcat配置中,將ApplicationContext修改為僅包含一個(gè)'/',這一方法或許能幫助遇到相似問(wèn)題的開(kāi)發(fā)者
    2024-09-09
  • Springboot jar運(yùn)行時(shí)如何將jar內(nèi)的文件拷貝到文件系統(tǒng)中

    Springboot jar運(yùn)行時(shí)如何將jar內(nèi)的文件拷貝到文件系統(tǒng)中

    因?yàn)閳?zhí)行需要,需要把jar內(nèi)templates文件夾下的的文件夾及文件加壓到宿主機(jī)器的某個(gè)路徑下,以便執(zhí)行對(duì)應(yīng)的腳本文件,這篇文章主要介紹了Springboot jar運(yùn)行時(shí)如何將jar內(nèi)的文件拷貝到文件系統(tǒng)中,需要的朋友可以參考下
    2024-06-06
  • 使用MyBatis查詢(xún)千萬(wàn)級(jí)數(shù)據(jù)量操作實(shí)現(xiàn)

    使用MyBatis查詢(xún)千萬(wàn)級(jí)數(shù)據(jù)量操作實(shí)現(xiàn)

    這篇文章主要為大家介紹了如何使用MyBatis?查詢(xún)千萬(wàn)數(shù)據(jù)量的操作過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05

最新評(píng)論

元氏县| 新邵县| 历史| 阳西县| 常熟市| 乐清市| 荣昌县| 霍山县| 万载县| 共和县| 泽普县| 依安县| 奈曼旗| 岳池县| 卢龙县| 淮滨县| 叶城县| 高要市| 呼和浩特市| 富蕴县| 清新县| 梁河县| 陵水| 平湖市| 即墨市| 永康市| 东辽县| 大兴区| 长阳| 隆德县| 安塞县| 乌什县| 浮梁县| 福建省| 星座| 房产| 青州市| 宣武区| 鞍山市| 莱芜市| 锡林浩特市|