java中的this和super(構造函數)


1.this:表示當前對象

   常用的代碼:

   public class A{

        private String name;

        public void setName(String name){

              this.name = name;//因為同名了,所以用this.name來表示是成員變量

        }

   }

2.this():表示當前對象的構造方法(構造方法調用另一個構造方法時使用)

       public class Test{

             public Test(String name,String password){}

             public Test(String name){

                   this(name,"123");//這里是調用了第一個構造方法,並且必須放在新的構造方法的第一行

                   System.out.println("調用了另一個構造方法");//這行若跟上面行替換位置,則編譯錯誤

             }

       }

3.super和super()同上,只是調用的是父類的成員變量和構造方法而已

=============================================================================

注:這是詳細介紹繼承中子類與父類構造方法的調用關系

http://www.cnblogs.com/Gaojiecai/p/4004782.html

繼承中的構造方法 

1、子類的構造過程中必須調用其基類的構造方法。(因為要繼承,所以必須先實例化父類,不然怎么繼承)

2、子類可以在自己的構造方法中使用super(argument_list)調用基類的構造方法。

    2.1、使用this(argument_list)調用本類的另外構造方法。

    2.2、如果調用super()或者this()必須寫在子類構造方法的第一行(但如果僅是通過this或super來訪問成員屬性則沒有這個要求)

(第3、第4條一起看)

3、如果子類的構造方法中沒有顯式的調用基類的構造方法,則系統默認調用基類的無參數構造方法

4、如果子類構造方法中既沒有顯式調用基類構造方法,而基類又沒有無參數的構造方法,則編譯出錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM