轉載請標明原文地址:http://www.cnblogs.com/zhangyukof/p/6829538.html 隨著編程經驗的積累,我對編程的理解也不斷的發生變化。最開始學的是演算法,然後是數據結構,現在開始學習編程思想,這是一個不斷進步的過程。編程思想可能是最基礎但卻是最重要的,以前對這些概念 ...
轉載請標明原文地址:http://www.cnblogs.com/zhangyukof/p/6829538.html
隨著編程經驗的積累,我對編程的理解也不斷的發生變化。最開始學的是演算法,然後是數據結構,現在開始學習編程思想,這是一個不斷進步的過程。編程思想可能是最基礎但卻是最重要的,以前對這些概念只是照本宣科,並不理解,現在開始重新關註編程思想,有了更多的理解。在這裡對個人理解做個總結和記錄。
1.所有類的基類是?
對象(Object)。
2.什麼是對象?
對象是對客觀事物的抽象。
3.什麼是類?
類是對象的抽象。
4.對象和類的聯繫?
類是對象的模版,對象是類的實例。
5.對象和類的區別?
對象占記憶體,類不占記憶體。
6.什麼是面向對象?
面向對象(Object Oriented)是一種軟體開發方法,是一種對客觀事物理解和抽象的方法。
7.什麼是屬性和方法?
屬性是用來描述對象特性的數據,方法是數據的變化過程,是可重用的代碼段。
8.面向對象的三大基本特性?
(1)封裝:把客觀事物封裝成抽象的類。隱藏對象的屬性和實現細節,僅對外公開介面。
(2)繼承:子類可以繼承父類的屬性和方法,提高了代碼的重用性和可擴展性。
(3)多態:子類可以向上轉型為父類。
實現多態的方法為重寫(override)和重載(overload 有些語言不支持重載)。
9.什麼是重寫和重載?
(1)重寫(override):子類可以重寫父類非私有的方法。
(2)重載(overload):一個類中可以有多個同名方法,這些方法的參數不能相同。
一個類中可以有多個同名不同參的方法。
10.什麼是值類型和引用類型?
(1)值類型:傳值。
(2)引用類型:傳址。
11.值類型和引用類型的區別?
(1)值類型:一人一份記憶體。
(2)引用類型:共用一份記憶體。
打個比方:值類型是私家車,一人一輛,你車壞了你遲到,不影響別人。引用類型是公交車,大家公用一輛,車一壞一車人全遲到。
12.Java中String是值類型還是引用類型?
引用類型。
Java中判斷兩個字元串相等應該用str1.equals(str2),用==不准確。
public static void main(String[] args) { String str1 = "string"; String str2 = "string"; String str3 = new String("string"); System.out.println(str1 == str2); //true System.out.println(str1 == str3); //false System.out.println(str1.equals(str2)); //true System.out.println(str1.equals(str3)); //true }
13.什麼是訪問修飾符?Java中的訪問修飾符都有哪些?
訪問修飾符就是控制類、屬性和方法訪問許可權的符號。
Java中的訪問修飾符有四種:private、default(預設的)、protected、public。
作用域 | 當前類 | 同包 | 子類 | 其他 |
---|---|---|---|---|
private | √ | × | × | × |
default(不寫) | √ | √ | × | × |
protected | √ | √ | √ | × |
public | √ | √ | √ | √ |
訪問修飾符的許可權越向下越高,儘量用private,許可權不夠再依次提升許可權。(多用private少用public)
14.什麼是電腦程式?
電腦程式是可以完成某些功能的電腦指令集。
電腦程式由數據結構和演算法構成。
什麼是數據結構?什麼是演算法?
數據結構是電腦存儲、組織數據的方式。
演算法是電腦執行計算過程的具體描述。
好的數據結構和演算法會帶來更高的運行、存儲效率。數據結構往往和高效的檢索演算法和索引技術有關
通常,電腦程式需要經過編譯和鏈接成為人們難以理解但是電腦理解的格式,然後執行。不需要編譯就可以運行的程式稱之為腳本程式。