1. 程式人生 > >八、java基礎之構造方法

八、java基礎之構造方法

/*
一、關於java類的構造方法
1.構造方法語法:
  [修飾符列表]構造方法方法名(形式引數列表){
方法體;
  }
2.構造方法的方法名必須和類名一致

3.構造方法的作用:
第一:建立物件
第二:初始化成員變數

4.構造方法應該如何呼叫:
new 構造方法名(實參);在堆中開闢空間,儲存物件

5.如果一個類沒有提供構造方法,系統會預設提供無引數構造方法;
如果一個類中已經手動提供了構造方法,name系統不會提供無引數構造方法
6.構造方法構成了方法過載

7.成員變數什麼時候賦值?
只有在呼叫建構函式時候,才會給成員變數賦值
*/
public class ConstructorTest {

    
//成員變數,例項變數,非靜態變數 String name; int age; //定義構造方法 ConstructorTest(){ //System.out.println("contructor構造方法的執行!"); /* name=null; age=0; */ } ConstructorTest(int _age){ age=_age; //System.out.println("contructor a構造方法的執行!"+age); } ConstructorTest(String _name){ name
=_name; //System.out.println("contructor a構造方法的執行!"+name); } ConstructorTest(int _age,String _name){ name=_name; age= _age; //System.out.println("contructor a構造方法的執行!"+name); } }

二、呼叫構造方法

/*
類中的內容:帶有成員的要想訪問,必須“引用.”;成員變數是儲存在堆中的物件中
成員變數
靜態方法
成員方法
建構函式
*/
/*
建構函式:構造方法,構造器,Constructor

*/
public class ConstructorTest03 {
    public static void main(String[] args){
        //建立contructor的物件
        ConstructorTest con=new ConstructorTest();
        ConstructorTest cons=new ConstructorTest("lll");
        ConstructorTest constr=new ConstructorTest(10);
        ConstructorTest constru=new ConstructorTest(10,"aaa");

        System.out.println("con.age="+con.age+";"+"con.name="+con.name);//0   null
        System.out.println("cons.age="+cons.age+";"+"cons.name="+cons.name);//0 111
        System.out.println("constr.age="+constr.age+";"+"constr.name="+constr.name);//10 null
        System.out.println("constru.age="+constru.age+";"+"constru.name="+constru.name);// 10 aaa


    }
}