1. 程式人生 > >JAVA自查2:方法理解

JAVA自查2:方法理解

方法理解

修飾符 返回型別 方法名稱([引數型別 變數, ......]) {
    方法體程式碼;
    [return [返回值];]
}

其中返回值型別可以是基本資料型別,也可以是引用型別,還可以是空(void)
基本資料型別有八個:byte(1),short(2),int(4),long(8),float(4),double(8),boolean(1位,預設為false),char(2位元組,採用Unicode,在UFT-8中是3位元組的,JAVA中一般不用),他們各自有自己的類(首字母大寫)。
引用型別可以是類、介面、陣列等。

修飾符分訪問控制修飾符和非訪問修飾符:
訪問控制修飾符有4個:default(包內類及子類)、public(隨便用)、protected(類及子類,可跨包)、private(類內)

非訪問修飾符:static、final、abstract、synchronized、volatile

static:修飾的變數稱為類變數,除此外的類內部變數叫例項變數(成員變數,全域性變數),方法內部變數叫區域性變數。

例項和物件的區別:
MyClass myClass=new MyClass();
new的時候在堆中新建了一個物件(儲存在堆中)。這個物件是MyClass的例項(例項化,初始化主要工作)。其中myClass是該物件的引用(儲存在棧空間)。類是人類,物件是個人,但這個人還沒不夠具體,JAVA規定一個例項化(初始化)的過程,把物件具體,變成一個例項。其實也沒多大區別,哈哈。
而static修飾的變數,則跳過物件,直接跟類聯絡,所以叫類物件,不叫例項物件(都沒有例項)。同理,這就導致了static修飾的方法可以直接呼叫,不用例項化建立物件(沒有this,建立類時分配一次記憶體)。類方法中不能用例項方法。優先載入。

final:常量,不能修改,不能繼承,可以過載。所以不能與abstract一起使用。

abstract:抽象定義抽象類和方法,抽象方法必須在抽象類裡面。不能例項化,只能繼承,因為缺少必要的實現