1.簡述抽象類和抽象方法的作用
分析:抽象類主要用來提供多個派生類可共享的基類的公共定義,他與非抽象類的主要區別如下:
1)抽象類只能作為其他類的基類,不能直接例項化,對抽象類不能使用new操作符
2)抽象類中可以包含抽象成員,但非抽相類不可以
3)如果乙個非抽象類從抽象類中派生,則其必須通過覆蓋來實現所有繼承而來的抽象成員
抽象方法就是在宣告方法時,加上abstract關鍵字,抽象方法必須宣告在抽象類中,宣告抽象方法時,不能使用static和private修飾符。
抽象方法宣告引入了乙個新方法,但不提供該方法的具體實現,所以抽象方法的方法體只包含乙個分號,當從抽象類派生乙個非抽象類時,需要在非抽象類中重寫抽象方法,以提供具題的實現
答案:關鍵字abstract用於定義抽象類和抽象方法。抽象類是一種不可以被例項化的類。抽象類中一般含有抽象方法,也可由具體實現。繼承類只有實現抽象類的所有抽象方法後才能被例項化
面試真題 一
開始彙總面試碰到的 題,為保密起見,不透露公司名字,但會把所有的程式設計題都記錄下來,每一篇代表一家公司,我會盡量整理得快一點。60分鐘,10道單選 5道不定項選擇 若干道填空 2道改錯 1道程式設計。1 給定乙個鍊錶,返回鍊錶逆置後的結果。思路 簡單的鍊錶逆置題,我一開始以為是逆序輸出鍊錶的值,想...
面試真題 二
90分鐘,20道不定項 2道程式設計。1 給定乙個陣列,將所有的奇數放在陣列前半部分,偶數放在後半部分,奇數和奇數 偶數和偶數之間的相對位置不變。思路 從後往前遍歷,每次找到奇數時就插入到陣列最前面,並刪除掉該數。劍指offer有原題,直接拿過來用了 class solution else coun...
面試真題 三
60分鐘,30道單選 5道多選 若干填空 1道程式設計。1 約瑟夫環問題 思路 題目要求用鍊錶解決,但是卻沒有給出函式原型,所以我自己採用的是int func listnode head,int n,int k,int m 約瑟夫環是乙個很簡單的問題,應該不用多解釋了。class listnode ...