java知識(shí)點(diǎn)不多,但是有一些經(jīng)常會(huì)被我們忽略
1.java是強(qiáng)類型的語(yǔ)言,數(shù)組也是對(duì)象,一旦確定數(shù)組的類型,里面就只能存放一個(gè)類型的數(shù)據(jù)。
2.新建的對(duì)象都被存放到堆上,如果沒(méi)有引用,會(huì)很快垃圾回收。
3.java沒(méi)有全局變量和方法這個(gè)概念,全局方法,被加上static關(guān)鍵字,全局的變量是,static final
4.java是值傳遞,對(duì)于primitive基本類型,是拷貝數(shù)值,對(duì)于復(fù)雜對(duì)象類型是拷貝引用,操作會(huì)影響原來(lái)額數(shù)據(jù)。
5.實(shí)例變量聲明在類內(nèi),局部變量聲明在方法內(nèi),局部變量使用前必須被初始化。
6.方法的覆蓋不能降低開(kāi)放的權(quán)限。
7.判斷是否繼承,需要判斷是否有is-a關(guān)系。
8.有一個(gè)方法是抽象方法,類也必須是抽象類,抽象類可以有抽象方法也可以有非抽象的方法。
9.在java中,程序員會(huì)在意兩個(gè)區(qū)域,對(duì)象存在的空間堆,方法和變量存在空間棧,變量存在于哪一個(gè)空間要看他的類型而定,實(shí)例變量屬于對(duì)象,存在于堆,局部變量又叫棧變量(包括方法參數(shù)和內(nèi)部的變量)。
10.對(duì)象局部變量是一個(gè)引用類型,會(huì)放在棧上。
11.對(duì)于java來(lái)說(shuō)所有的引用類型的大小都是固定的
12.new 對(duì)象時(shí)候,第一件事情是去執(zhí)行他的父類的構(gòu)造函數(shù),一直到object的構(gòu)造函數(shù),叫做構(gòu)造函數(shù)調(diào)用鏈條。
13.局部變量的生存周期是方法的堆棧區(qū)存在,既是方法被調(diào)用期間,使用范圍是方法的內(nèi)部。
14.對(duì)象的銷毀一定是沒(méi)有引用指向的時(shí)候,會(huì)被垃圾回收器回收,三個(gè)主要的方式:1.方法里面的局部對(duì)象變量在方法結(jié)束后2.唯一的引用指向其他的對(duì)象3.引用設(shè)為null
15.靜態(tài)方法不能調(diào)用非靜態(tài)的變量和方法,靜態(tài)變量的值對(duì)于所有的對(duì)象都是相同的。