生活随笔
收集整理的這篇文章主要介紹了
C#基础面试题(学习总结)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1,傳入某個屬性的set方法的隱含參數的名稱是什么?
value
,它的類型和屬性所聲名的類型相同。 2,如何在C#
中實現繼承? 在類名后加上一個冒號,再加上基類的名稱。 3,C#
支持多重繼承么? 類之間不支持,接口之間支持。類對接口叫做實現,不叫繼承。 4,被protected
修飾的屬性/
方法在何處可以訪問? 在繼承或間接繼承與這個類的子類中可以訪問。 5,私有成員會被繼承么? 會,但是不能被訪問。所以看上去他們似乎是不能被繼承的,但實際上確實被繼承了。 6,請描述一下修飾符protected internal
。 在同一個Assembly
中,他的訪問級別和public
一樣,而跨Assembly
訪問時,他的訪問級別同protected
一樣。即protected
的范圍?+ internal
的范圍。 7,C#
提供一個默認的無參數構造函數,當我實現了另外一個有一個參數的構造函數時候,還想保留這個無參數的構造函數。這樣我應該寫幾個構造函數? 兩個,一旦你實現了一個構造函數,C#
就不會再提供默認的構造函數了,所以需要手動實現那個無參數構造函數。 8,C#
中所有對象共同的基類是什么? System.Object.
9,重載和覆寫有什么區別? 重載提供了對一個方法簽名的不同參數調用的實現。覆寫提供了子類中改變父類方法行為的實現。 10,在方法定義中,virtual
有什么含意? 被virtual
修飾的方法可以被子類覆寫。 11,能夠將非靜態的方法覆寫成靜態方法么? 不能,覆寫方法的簽名必須與被覆寫方法的簽名保持一致,除了將virtual
改為override
。 12,可以覆寫私有的虛方法么? 不可以,甚至子類中無法訪問父類中的私有方法。 13,能夠阻止某一個類被其他類繼承么? 可以,使用關鍵字sealed
。 14,能夠實現允許某個類被繼承,但不允許其中的某個方法被覆寫么? 可以,標記這個類為public
,并標記這個方法為sealed
。 15,什么是抽象類(abstract class
)? 一種不可以被實例化的類。抽象類中一般含有抽象方法,當然也可有具體實現。繼承類只有實現過所有抽象類的抽象方法后才能被實例化。 16,何時必須聲明一個類為抽象類? 當這個類中包含抽象方法時,或是該類并沒有完全實現父類的抽象方法時。 17,接口(interface
)是什么? 只含有共有抽象方法(public abstract method
)的類。這些方法必須在子類中被實現。 18,為什么不能指定接口中方法的修飾符? 接口中的方法用來定義對象之間通信的契約,指定接口中的方法為私有或保護沒有意義。他們默認為公有方法。 19,可以繼承多個接口么? 當然。 那么如果這些接口中有重復的方法名稱呢? 這種情況中你可以決定如何實現。當然需要特別得小心。但是在編譯環節是沒有問題的。 20,接口和抽象類的區別是什么? 接口中所有方法必須是抽象的,并且不能指定方法的訪問修飾符。抽象類中可以有方法的實現,也可以指定方法的訪問修飾符。 21,如何區別重載方法? 不同的參數類型,不同的參數個數,不同的參數順序。 22,const
和readonly
有什么區別? const
可以用于局部常量,而readonly
,實際是類的initonly
字段,顯然不能是局部的。 23,System.String?
和System.StringBuilder
有什么區別? System.String
是不可變的字符串。System.StringBuilder
存放了一個可變的字符串,并提供一些對這個字符串修改的方法。
?本文轉自 王祖康 51CTO博客,原文鏈接:http://blog.51cto.com/wzk89/393274,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的C#基础面试题(学习总结)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。