1. 程式人生 > >面向物件刷題小細節

面向物件刷題小細節

1.子類裡面的方法名如果和父類裡面的方法名一樣,那就構成重寫,重寫必須方法名和引數列表一樣,
返回值也一樣。


2.父類方法用public 修飾   子類重寫的話必須也要用public修飾


3.接口裡面只能用public 修飾。


4.全域性變數在定義之後,呼叫的時候前面要寫this,否則就是以引數的形式賦值。


5.父類轉換成為子類,前面要加上子類型別強制轉換。


6.子類在寫構造方法的時候,如果父類沒有無參構造方法,那麼super不能省略,並且需要傳入一個值給父類的構造方法。


7.用final修飾的變數,在賦值之後,第二次賦值會編譯錯誤


8.方法過載只與引數列表有關,和訪問許可權和返回值無關,訪問許可權大小,返回值型別不同,依然能構成過載關係。


9.棧用於存放程式執行過程中所有的區域性變數,堆一般用於儲存使用new關鍵字的物件。


10.普通方法裡面可以呼叫靜態方法。


11.本類裡面建立屬性物件   P=new this.point();this一般省略


過載和重寫的區別
1.過載是發生在一個類中,重寫發生在兩個類中,並且這兩個類是父子關係。
2.過載只是與方法的引數列表有關,跟其他類無關,子類重寫父類的方法時必須滿足兩同兩小一大。

介面和抽象類的區別
1.一個類實現多個介面,但是抽象類只能繼承最多一個抽象類。
2.抽象類可以包含具體的方法,介面的所有方法都是抽象的。
3.抽象類可以宣告和使用欄位,介面則不能,但介面可以建立靜態final常量。
4.介面的方法都是public 修飾的,抽象類的方法可以是public protected private 或者預設的。
5.抽象類可以定義建構函式,介面卻不能。


static  修飾方法和成員變數 
static修飾的屬性和方法表示類的資訊。不是物件的,只有一份,通常用類名點出來呼叫。
靜態方法中只能呼叫靜態方法和屬性,非靜態方法既可以呼叫靜態的和也可以呼叫非靜態的。


final   修飾變數 方法  和類  表示最終的不可更改的。
1.修飾變數,值不可以改變,修飾區域性變數要在使用前賦值就行,修飾成員變數要在定義的同時賦值,
要麼先定義在構造方法裡面賦值。
修飾方法,不能被重寫。
修飾類,不可以被繼承。








數組裡面存物件的值
建一個使用者類
建一個構造方法,接受四個引數
在要用到這個使用者的地方輸入四個值,new 一個新的使用者物件陣列,接受這四個值
就可以在第二個方法裡面繼續使用了。


重寫 和 過載  都和返回值無關
重寫 引數列表和引數都要一致
過載 引數列表可以不一樣


方法的過載只與引數列表引數有關,跟返回值型別和訪問許可權沒有任何關係
 方法名和引數列表相同
    兩小
      1.如果父類中返回值型別為基本資料型別或者void
        那麼子類中的重寫方法的返回值型別也必須相同
    如果父類中的返回值型別為引用資料型別,那麼子類中的返回值型別必須小於或者等於
    父類的返回值型別