這裏有很多U3D資源、U3D培訓視頻、U3D教程、U3D常見問題、U3D項目源碼,我們致力於打造業內unity3d培訓、學習第一品牌
今天考了一些考試題,或許以後面試會用到,總結一下
1、abstract class和interface的區別是什麼?
1.抽象類可以有構造方法,接口中不能有構造方法。
2.抽象類中可以有普通成員變量,接口中沒有普通成員變量
3.抽象類中可以包含非抽象的普通方法,接口中的所有方法必須都是抽象的,不能有非抽象的普通方法。
4. 抽象類中的抽象方法的訪問類型可以是public,protected和(默認類型,雖然eclipse下不報錯,但應該也不行),但接口中的抽象方法只能是public類型的,並且默認即爲public abstract類型。
5. 抽象類中可以包含靜態方法,接口中不能包含靜態方法
6. 抽象類和接口中都可以包含靜態成員變量,抽象類中的靜態成員變量的訪問類型可以任意,但接口中定義的變量只能是public static final類型,並且默認即爲public static final類型。
7. 一個類可以實現多個接口,但只能繼承一個抽象類。
2、Overload和Override的區別是什麼?
override(重寫)
(1)、方法名、參數、返回值相同。
(2)、子類方法不能縮小父類方法的訪問權限。
(3)、子類方法不能拋出比父類方法更多的異常(但子類方法可以不拋出異常)。
(4)、存在於父類和子類之間。
(5)、方法被定義爲final不能被重寫。
overload(重載)
(1)、參數類型、個數、順序至少有一個不相同。
(2)、不能重載只有返回值不同的方法名。
(3)、存在於父類和子類、同類中。
3、靜態成員和非靜態成員的區別?
靜態成員變量是所有對象共用的,只有一份,不會爲每一個對象都分配一個不同的值。比如,如果最長壽命是一個靜態成員變量,那麼你-最長壽命 和 我-最長壽命 調用的時候用的是同一個內存上的值,所有對象的調用都是這個值。
不過是非靜態成員,那麼這個值就不同。每個對象都有自己的值,比如名字、身高、等等
4、描述數據庫連接過程?
(1)引入命名空間
(2)、創建一個SqlConnection對象(連接數據庫的語句)
(3)、打開連接
(4)、創建一個SqlCommand對象(要執行的語句)
(5)、獲取SqlDataReader對象
(6)、關閉SqlDataReader對象
(7)、關閉連接
5、接口的特徵是什麼?使用接口的好處有哪些?
特徵:
(1)、接口類似於抽象基類,不能直接實例化接口;接口中的方法都是抽象方法,實現接口的任何非抽象類型都必須實現接口的所有成員。
(2)、接口不能包含常量、字段、運算符、實例構造函數、析構函數或
類型、不能包含靜態成員。
(3)、接口成員是自動公開的,且不能包含任何訪問修飾符。
(4)、接口自身可從多個接口繼承,類和結構可繼承多個接口,但接口不能繼承類。
好處:
(1)、規範類的實現
(2)、面向接口開發,可以很好的實現代碼的重用
6、什麼是命名空間?怎樣引用命名空間?命名空間的作用是什麼?不用命名空間可以嗎?
(1)、什麼是命名空間:命名空間是爲了把一些類和類的實例更好地管理而定義的把這些類和實體集合起來的一個團體
(2)、怎樣應用命名空間:using 命名控件名
(3)、作用:命名空間提供了一種從邏輯上組織類的方式,防止命名衝突
(4)、不可以
7、什麼是多態?請舉例說明
(1)、多態:同一事件,作用不同對象,產生不同的結果
(2)、舉例:動物飼養員給熊貓的老虎喂竹子,兩個對象時老虎和熊貓,相同的事件是喂竹子,其結果就是熊貓吃竹子和老虎不吃竹子兩種不同的結果
8、構造方法有什麼特徵?它的作用是什麼?
(1)、特徵:
①:構造方法必須與所在的類具有相同的名字。
②:構造方法沒有返回類型,甚至連 void 也沒有。
③:構造方法的調用是在創建一個對象時使用 new 操作符進行的。構造方法的作用是初始化對象。