<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小蟲的天地

    Java SE | Java EE | NetBeans | Open Source World | Groovy | Grails | JavaScript | jQuery
    隨筆 - 10, 文章 - 0, 評論 - 225, 引用 - 0
    數(shù)據(jù)加載中……

    NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器

      自從大一暑假開始到現(xiàn)在,我學(xué)習(xí)Java差不多快兩年的時(shí)間了,其間閱讀過無數(shù)的博客,從Java SE 到Java EE、從基礎(chǔ)類庫到各類框架、從編程思想到設(shè)計(jì)模式,我能從博客中學(xué)習(xí)到各種書本中沒有的東西,了解到各種新的技術(shù)。在此我感謝所有博主們辛勤的勞動(dòng),是你們的無私奉獻(xiàn)、知識共享的精神才讓我們這些初學(xué)者獲得了極佳的學(xué)習(xí)途徑,解決了我們初學(xué)者學(xué)習(xí)中遇到的大部分類似的問題。

    也正是這個(gè)原因,我一直想自己寫關(guān)于Java的博客,貢獻(xiàn)自己微薄的力量,但是鑒于時(shí)間和自己的能力,一直沒有開始。經(jīng)過快兩年的不斷學(xué)習(xí),還有閱讀了大量的有關(guān)Java的博客文章,我發(fā)現(xiàn)自己Java水平比起兩年前有了質(zhì)的提高,所以有了打算寫博客的念頭,一來記錄下自己學(xué)習(xí)的知識,二來想讓各位網(wǎng)友評論博客發(fā)現(xiàn)自己的不足,三來幫助像兩年前的我一樣的初學(xué)者。

    這是我的第一篇博客,我打算從IDE開始,為什么選擇NetBeans而不是Eclipse ?

    我發(fā)現(xiàn)周圍的初學(xué)者相對于Eclipse而言更喜歡NetBeans,我雖然NetBeans和 Eclipse都在使用,但自從NetBeans6.0 M9開始,我更喜歡使用NetBeans。那么為什么NetBeans讓那么多初學(xué)者愛不釋手呢,原因當(dāng)然是”Netbeans使用很簡單功能很強(qiáng)大” J。Netbeans沒有Eclipse安裝插件的煩惱,使用起來沒有 Eclipse那么復(fù)雜,NetBeans也完全是有插件組成的。

    NetBeans的真正威力只有真正體驗(yàn)才知道,至于關(guān)于NetBeans啟動(dòng)慢問題,前幾天6.1Beta出來后,NetBeans性能已經(jīng)有了很大提升。我的機(jī)子內(nèi)存為 2G,玩Netbeans非常爽。

    下面開始我的第一篇Java博客

    NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器

    代碼模板

    有些代碼或者關(guān)鍵字經(jīng)常使用,如果每次需要時(shí)我們都要一個(gè)一個(gè)字母輸入,那么效率是很低下的。Netbeans提供了方便的代碼模板功能,我們可以添加自己的模板。當(dāng)然Netbeans默然提供了一些常用的模板,你只要輸入代碼的 縮寫形式 + Tab鍵就可以生成相應(yīng)的代碼

    如:

    只要輸入 sout + Tab鍵就可以生成System.out.println(“”)了。

    下面給出常用幾個(gè)縮寫形式:

    Psf -----------public static final

    br ------------break

    fi -------------final

    im ------------implements

    ir --------------import

    le--------------length

    re-------------- return

    sout-----------System.out.println ("|");

    st --------------static

    查看更多的默認(rèn)代碼模板,請擇菜單欄的 幫助(help->快捷鍵列表(keyboard shortcuts Card

    當(dāng)然也可以添加自己的模板,從主菜單中選擇Tools > Options 選擇Editor


    可以修改或添加代碼模板,不止是
    Java語言哦。


    智能代碼提示、完成

    《代碼大全》里第十一章 變量名的力量 里說道變量名的作用非常重要。為變量命名時(shí)最重要的考慮事項(xiàng)是,該名字要完全,準(zhǔn)確地描述出該變量所代表的事物。

    上面的建議非常重要,好的變量名能讓代碼的意圖更清晰,代碼更可閱讀性。

    這也是為什么Java界里面很多類或者方法的名稱都是這么長的原因。

    這樣閱讀是清晰了,但是不便于輸入。如果讓你用純文本編寫 SSHSructsSpringHibernate),不考慮配置文件,你可能還是不愿意,因?yàn)?/span>SSH里面由于遵循良好的命名習(xí)慣,大部分類名和方法名都是非常長的。

    NetBeans 6.0Java編輯器提供超智能的代碼提示、完成功能,智能的程度絲毫不遜于IntelliJ IDEA,更不要說Eclipse了。

    下面讓我們通過試驗(yàn)來看看NetBeans Java代碼編輯器智能到什么程度

    提示:代碼提示功能的快捷鍵為:Ctrl + 空格鍵 Ctrl+\ (反斜杠) ,由于Ctrl + 空格鍵和

    我們的中文輸入法沖突了,所以你可以用Ctrl+\,或者修改為自己喜歡的快捷鍵

    l         試驗(yàn)一

    我們在Netbeans新建一個(gè) Java 類,刪除掉IDE給我們生成的代碼然后按下Ctrl+\


    IDE識別出我們這時(shí)應(yīng)該用到的關(guān)鍵字

    l         試驗(yàn)二:

    在一個(gè)類內(nèi)部中,我們按下Ctrl+\


    Foo是新建的類,默認(rèn)繼承Object 對象,看來IDE能識別出父類的方法clone()~toString

    Foo() generate 是產(chǎn)生Foo類的構(gòu)造方法

    后面是類內(nèi)部里面可能用到的關(guān)鍵字和java核心包里面的類和各個(gè)包

    l         試驗(yàn)三:

    在一個(gè)方法內(nèi)部,我們按下Ctrl+\

    我們看到,代碼提示里提示有方法的參數(shù)名a,b,c

    l         試驗(yàn)四:

    添加Spring


    然后在方法里面輸入
    Appli 再按下Ctrl+\

    看到?jīng)]有,Spring中的類名和 ”Appli”相關(guān)類都顯示出來了

    l         試驗(yàn)五:

    在剛才的方法中輸入 ApplicationContext + 空格 + Ctrl+\


    呵呵,
    IDE幫我們想好了變量名的名稱了,以后再也不用為變量名發(fā)愁了

    我們引用相關(guān)變量看看

     


    試驗(yàn)六:

    在一個(gè)類的方法中輸入 List list=new + 空格 + Ctrl+\





    我暈,多態(tài)都支持,呵呵。



    代碼生成

    如果NetBeans僅僅支持上面的代碼提示功能,那么NetBeans吸引力也不是很大,畢竟其它 IDE也提供相應(yīng)的功能,但是別急,我們慢慢享受IDE提供的免費(fèi)大餐。

    下面繼續(xù)探索NetBeans的代碼編輯器的其它功能

    我們在類面添加兩個(gè)成員變量

     

        private String name;
        
    private String no;

     

    然后在類里面按 Alt + Insert鍵(或者右鍵彈出菜單選擇 insert code…


    l         產(chǎn)生構(gòu)造方法,setget方法


    一旦成員變量變多,代碼生成功能極大的方便了我們

    l         重寫父類方法

    Alt + Insert 選擇 Override Method…

    我可以重寫父類的方法

    l         代理成員變量的方法

    首先為了測試該功能,我們新建一個(gè)成員變量

    private List list;

    Alt + Insert 選擇 Delegate Method…


    然后如下圖所示

    下一步,產(chǎn)生了Listadd()代理方法,J



    l         我們還注意到,Netbeans 6.1beta里多了一個(gè)代碼產(chǎn)生選項(xiàng)

    Add Perprerty….

    用來增加成員變量




    聰明的小燈泡

    和其它IDE一樣, NetBeans提供相應(yīng)的代碼左邊出現(xiàn)一個(gè)小燈泡,以完成修復(fù)導(dǎo)入包等功能。

    l         包導(dǎo)入修復(fù)


    如上圖,單擊小燈泡后出現(xiàn)


    l         包圍代碼

    選擇一段代碼,代碼左邊將產(chǎn)生小燈泡


    點(diǎn)擊小燈泡


    我們再選擇
    Surround with for try{

    結(jié)果IDE為我們產(chǎn)生了

     

            try {

                System.out.println (
    "");

            }
     catch  (Exception exception) {

            }

     

    ^_^ ,還可以用其它語句包圍

    l         生成JavaDoc注釋


    結(jié)果
    IDE為我們生成了相應(yīng)的注釋


    提示:
    NetBeans6.0默認(rèn)不提供該功能,啟用該功能請確保Tools > Options > Java Code里的Javadoc里的選項(xiàng)都選中


    l         生成返回變量聲明

    我們經(jīng)常需要調(diào)用其它類的方法返回的值,每次調(diào)用都要聲明一下局部變量,相當(dāng)麻煩

    我們可以讓IDE來完成


    點(diǎn)擊將產(chǎn)生
        byte[] bytes = name.getBytes();


    代碼重構(gòu)

    《重構(gòu)——改善既有代碼的設(shè)計(jì)》一書里提供了超過70個(gè)已經(jīng)被證明效果的重構(gòu)手法,但是如果沒有IDE的支持,重構(gòu)過程中很容易出錯(cuò),這就是為什么很多人即使知道重構(gòu)的好處也不愿意重構(gòu)的原因。如果 IDE能提供很重構(gòu)的支持,那么重構(gòu)手法將變成半自動(dòng)化,提高重構(gòu)的效率。

    現(xiàn)在讓我們來看看NetBeans 提供了哪幾種重構(gòu)手法:


    正如上圖所示,
    NetBeans提供了如下常用的重構(gòu)手法

    Change Method parameters(改變方法參數(shù))

    Pull Up(值域、方法上拉)

    Push Down(值域、方法下拉)

    Extract Interface(提煉接口)

    Extract Superclass(提煉超類)

    Move Inner to Outer Level(移動(dòng)內(nèi)部類為外部類)

    Convert Anonymous to Inner(改變匿名類為內(nèi)部類)

    Introduce Variable(引入變量)

    Introduce Constant(引入常量)

    Introduce Field(引入值域)

    Introduce Method(引入方法)

    Encapsulate Fields(封裝值域)

    不明白重構(gòu)的初學(xué)者建議看《重構(gòu)——改善既有代碼的設(shè)計(jì)》一書(中國電力出版社)

    由于邊幅的原因,不能一一舉例,僅拿兩個(gè)重構(gòu)手法來舉例

    l         Introduce Method(引入方法)

    假如我們有如下Foo.java

     

    public class Foo{

        
    private String name;

        
    private String no;

        
    public void echo (String a, int b, Long c) {

            
    //--------------------

            System.out.println(
    "=========================");

            System.out.println(
    "           菜單           ");

            System.out.println(
    "=========================");

            
    //--------------------

            
    //其他關(guān)鍵代碼

            
    //--------------------

            System.out.println(
    "=========================");

            System.out.println(
    "           菜單           ");

            System.out.println(
    "=========================");

            
    //--------------------

        }


    }


    明顯字段代碼有冗余,需要Introduce Method重構(gòu),



    最后改為:

     

    public class Foo{

        
    private String name;

        
    private String no;

        
    public void echo (String a, int b, Long c) {

            showMenu();

            
    //--------------------

            
    //其他代碼

            
    //--------------------

            showMenu();

            
    //--------------------

        }


        
    private void showMenu() {

            
    //--------------------

            System.out.println(
    "=========================");

            System.out.println(
    "           菜單           ");

            System.out.println(
    "=========================");

            
    //--------------------

        }


    }


    l         Convert Anonymous to Inner(改變匿名類為內(nèi)部類)

    假如我們有如下Foo.java

     

    public class Foo{

        
    private String name;

        
    private String no;

        
    public void echo (final String a, final int b, final Long c) {

            
    new Thread(new Runnable() {

                
    public void run() {

                    System. out.println(a
    +b+c);

                }

            });

        }

    }

    上面的例子看起來不需要重構(gòu),但是這里僅僅是舉例怎么用Convert Anonymous to Inner手法

    把光標(biāo)放到new Thread()里面


    看看
    IDE給我們生成了什么:

     

    public class Foo{

        
    private String name;

        
    private String no;

        
    public void echo (final String a, final int b, final Long c) {

            
    new Thread(new RunnableImpl(a, b, c));

        }


        
    static class RunnableImpl implements Runnable {

            
    private final String a;

            
    private final int b;

            
    private final Long c;

            
    public RunnableImpl(String a, int b, Long c)  {

                
    this.a = a;

                
    this.b = b;

                
    this.c = c;

            }


            
    public void run() {

                System.out.println (a 
    + b + c);

            }


        }


    }


    結(jié)構(gòu)清晰了很多。


    總結(jié)

    其實(shí)NetBeans的代碼編輯器還很多非常強(qiáng)大的功能我沒有說明,鑒于邊幅原因,而且很多功能是可以自己親身體驗(yàn)的,所以這里就不一一列舉出來。

    我的下一篇博客將介紹用NetBeans 開發(fā) Swing Application Framework (JSR 296) 程序。

    版權(quán)聲明:

    本文由令狐蟲原創(chuàng),歡迎轉(zhuǎn)載,轉(zhuǎn)載請保留博客地址:

    http://www.tkk7.com/linghuchong/

    posted on 2008-03-24 14:58 令狐蟲@qq.com 閱讀(6066) 評論(30)  編輯  收藏 所屬分類: NetBeans

    評論

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    Very Intelligent IDE.
    2008-03-24 15:59 | BeanSoft

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    @BeanSoft
    BeanSoft 老師
    我知識的不斷積累,很大一部分歸功于你
    你為初學(xué)者創(chuàng)建了大量的學(xué)習(xí)素材
    正是有像你一樣無私的奉獻(xiàn)精神,
    初學(xué)者才不斷的進(jìn)步、提高!
    謝謝您!~
    2008-03-24 16:10 | 令狐蟲

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    不錯(cuò),把netbeans用得很仔細(xì),我們一起來支持netbeans吧
    2008-03-24 16:35 | 千里冰封

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器[未登錄]  回復(fù)  更多評論   

    java群 23133419
    歡迎您加入,尤其是討論java開源技術(shù)
    2008-03-24 16:50 | diego

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    @千里冰封
    經(jīng)常關(guān)注你的博客
    以后會(huì)多向你請教
    2008-03-24 17:24 | 令狐蟲

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器[未登錄]  回復(fù)  更多評論   

    我想說.....以上全部功能 Eclipse 都有

    而且大部份都已經(jīng)遠(yuǎn)在 2.1 版本時(shí)代已經(jīng)存在了

    現(xiàn)在 E3.4 版/ 甚至 E4 已經(jīng)走得很遠(yuǎn)很遠(yuǎn),
    甚至不會(huì)再在這種 "基本功能" 上面多討論
    2008-03-24 18:47 | Dennis

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    @Dennis

    關(guān)于NetBeans,請看我最后的總結(jié)

    Eclipse 和 NetBeans 我都有用

    那個(gè)編輯器更好用?

    按照我的感受是:NetBeans 絕對勝出

    按照專家的說法請看:(也一樣是NetBeans 勝出)

    http://www.javaeye.com/news/1618
    2008-03-24 19:12 | 令狐蟲

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    已經(jīng)習(xí)慣了eclipse,netbeans的亮點(diǎn)在UML圖上
    2008-03-24 19:44 | Edward's

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    作者講得不錯(cuò),Swing Application Framework 之前也了解過一點(diǎn)點(diǎn),期待。
    2008-03-24 20:37 | Matthew Chen

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    要做到高效與減少IDE依賴并存
    2008-03-24 21:20 | 史蒂夫

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器[未登錄]  回復(fù)  更多評論   

    看樣博主真沒用過eclipse。
    2008-03-24 21:52 | xZeus

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    JavaEye那邊還是一如既往的吵鬧,誰也不服誰。
    2008-03-24 21:55 | 如坐春風(fēng)

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    是呀,大家多點(diǎn)分享,少點(diǎn)吵鬧,樓主做的很好。開發(fā)工具,用習(xí)慣了就好了,套一句蘋果老板的話:我們要?jiǎng)?chuàng)造用戶的使用習(xí)慣,而不是讓用戶來指出該如何使用。
    2008-03-24 22:53 | BeanSoft

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    一看就知道不熟悉Eclipse
    寫小程序vim也很不錯(cuò)
    2008-03-24 23:17 | ZelluX

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    @Matthew Chen
    你翻譯williamchen的AWT, SWT, Swing: Java GUI Clean Up
    我比較關(guān)注

    williamchen的http://blog.sina.com.cn/swingjava
    我以前一直都非常關(guān)注,可惜現(xiàn)在他好久沒有新博客了


    2008-03-24 23:19 | 令狐蟲

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    @xZeus
    @ZelluX

    在用NetBeans之前,我就已經(jīng)用Eclipse了

    但是你們現(xiàn)在拿MyEclipse這樣的插件,還有很多超豪華團(tuán)隊(duì)做出來的Eclipse
    插件和NetBeans來比,我也無話可說。

    你們不用說服我,因?yàn)槲乙埠芟矚g用Eclipse,現(xiàn)在市場主流的框架Eclipse有成熟的插件

    但是隨著NetBeans 開始對非官方框架(像Struct 、Spring、Hibernate)的支持,再加上NetBeans本身對官方框架(EJB3.0 、JSF、WS)的超強(qiáng)支持等,NetBeans挑戰(zhàn)Eclipse的統(tǒng)治地位是無法避免的,我們不必再討論這么多,
    事實(shí)勝于雄辯。

    多一種選擇對于程序員來說不是更好嗎,IDE的競爭得益于程序員。


    2008-03-24 23:37 | 令狐蟲

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    @BeanSoft
    BeanSoft說的是,大家多點(diǎn)分享,你們多介紹些Ecilpse的使用技巧
    像BeanSoft的MyEclipse教程,我也非常樂意學(xué)習(xí)啊! :)
    2008-03-24 23:40 | 令狐蟲

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    Good article, but many features described here have already been implented by Eclipse, and from Eclipse Europa, you can download the "Eclipse IDE for Java EE Developers" version which has many J2EE packages already installed, so this will remove you from download additional packages.
    2008-03-25 18:15 | Find it, try it, experience it

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    @Find it, try it, experience it
    沒有像MyEclipse這樣的插件
    Eclipse Europa也起不到多大的作用
    2008-03-26 09:59 | 令狐蟲

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器[未登錄]  回復(fù)  更多評論   

    就有些神經(jīng),一看到別人說netbeans,他就跳出來說怎么怎么不好了,博主寫了篇很好的介紹文,你們怎么就不服了?
    2008-03-26 16:08 | wolf

    # 我永遠(yuǎn)跟著sun公司走  回復(fù)  更多評論   

    畢竟netbeans是sun的。我相信netbeans更相信sun
    所以我要頂起
    2008-03-26 16:32 | 草包書生

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    看到了你的文章,才知道自己對Netbeans的了解是那么的少!看來以后要好好的利用Netbeans了。
    2008-03-26 20:51 | 日月雨林

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    陸續(xù)用了5.5,6.0.還是投入eclipse的懷抱。沒辦法,用的人多了,資料也多。溝通方便點(diǎn)。
    2008-04-01 13:15 | lhehuang

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    學(xué)校教的是JBuilder的。所以一般作業(yè)可以用Elicpset和JBuilder做。不過,由于習(xí)慣了JBuilder使用。在不是沒有辦法的情況下,一般不用Elicpse。不過,最近發(fā)現(xiàn)了netbean6.0.發(fā)覺真的很不錯(cuò)。我又多了一種選擇。呵呵
    2008-04-02 12:03 | 小東西

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    netbean 新建class 時(shí) 怎么選擇繼承的類或者接口 找了半天都沒有 我用的是6.5測試版
    2008-09-19 16:15 | hucq

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    @hucq
    Netbeans和Eclipse不一樣,Netbeans是通過模板類創(chuàng)建類的
    在Netbeans中類、接口等都有相應(yīng)的模板
    創(chuàng)建了這些類、接口后再進(jìn)行相應(yīng)的修改。


    2008-09-19 19:57 | 令狐蟲@qq.com

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    你的意思是說 我如果想繼承一個(gè)類 就要現(xiàn)在模板里
    寫個(gè)

    pubilc classs xxx extend xxx {
    }

    才可以

    這可真的好麻煩 eclipse 和jbuilder 都不是這樣
    2008-09-20 14:19 | hucq

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    @hucq
    呵呵!繼承一個(gè)類比起eclipse 和jbuilder 是麻煩了一點(diǎn)
    我也不明白為什么NetBeans沒有這個(gè)功能
    但這其實(shí)也沒有什么,現(xiàn)在的設(shè)計(jì)思想是聚集優(yōu)于繼承,盡量避免繼承吧。
    2008-09-20 15:01 | 令狐蟲@qq.com

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    介紹的這些功能在php版的netbeans里面基本都沒有
    2008-09-28 14:23 | phper

    # re: NetBeans 6.0 提高生產(chǎn)力之Java代碼編輯器  回復(fù)  更多評論   

    @phper
    之前我試用了一下NetBeans的PHP版,
    各種代碼提示、代碼完成功能都挺不錯(cuò)的
    感覺PHP版也相當(dāng)優(yōu)秀!
    2008-09-28 14:55 | 令狐蟲@qq.com
    主站蜘蛛池模板: 99精品国产成人a∨免费看| 污视频在线观看免费| 99热这里有免费国产精品| 亚洲永久无码3D动漫一区| 亚洲成a人片在线网站| 久久99精品国产免费观看| 亚洲va在线va天堂va888www| 免费污视频在线观看| 免费在线视频一区| 亚洲人成电影在线观看网| 一级做a爰性色毛片免费| 在线观看免费人成视频| 亚洲成av人影院| 久久精品免费观看| 婷婷精品国产亚洲AV麻豆不片| 久久香蕉国产线看免费| 日产亚洲一区二区三区| 在线视频网址免费播放| 亚洲伊人久久精品影院| 国产羞羞的视频在线观看免费 | 久久亚洲中文字幕精品有坂深雪 | 国产福利免费视频 | 无遮免费网站在线入口| 亚洲国产情侣一区二区三区| 国产1000部成人免费视频| 亚洲av日韩av高潮潮喷无码| 国产成人精品一区二区三区免费| 亚洲网址在线观看你懂的| 最近中文字幕大全免费视频| 亚洲av永久无码嘿嘿嘿| 18级成人毛片免费观看| 亚洲乱码在线视频| 黑人粗长大战亚洲女2021国产精品成人免费视频 | **真实毛片免费观看| 亚洲精品国产第1页| 久久成人无码国产免费播放| 亚洲天堂男人天堂| 一二三四免费观看在线视频中文版 | 亚洲人精品午夜射精日韩 | 亚洲国产精品第一区二区三区| 中文无码亚洲精品字幕|