java什么叫多態(tài) Java和C 的區(qū)別是什么?
Java和C 的區(qū)別是什么?C是基于C語言開發(fā)的,一開始C語言不支持面向?qū)ο螅髞碛忠肓嗣嫦驅(qū)ο蟮母拍?,也就是C,而Java是天生的面向?qū)ο?,有人說C不是一個完整的面向?qū)ο笳Z言,但都是狹義的。如果
Java和C 的區(qū)別是什么?
C是基于C語言開發(fā)的,一開始C語言不支持面向?qū)ο?,后來又引入了面向?qū)ο蟮母拍?,也就是C,而Java是天生的面向?qū)ο?,有人說C不是一個完整的面向?qū)ο笳Z言,但都是狹義的。如果要比較這兩種語言,Java更面向?qū)ο螅磺卸际菍ο?,接口、繼承等功能都很完善。例如,當涉及到多態(tài)性時,C需要使用虛擬函數(shù),而Java直接實現(xiàn)它們。但從語言的角度來看,Java是一種跨平臺的解釋性語言。解釋器將把文本解釋成語法樹,而不是編譯。Java在Java虛擬機上運行,不直接在內(nèi)存上運行。虛擬機具有垃圾收集機制,是一種內(nèi)存安全的編程語言。因此,它不如C靈活,效率也不高。C是一種編譯語言,編譯器將代碼編譯成機器代碼。因此,有人說C/C是最接近機器語言的高級語言,也有人稱C為中間語言。但是由于操作系統(tǒng)的底層接口和實現(xiàn)機制不同,系統(tǒng)調(diào)用的代碼也會不同,所以C/C也不一樣,不能跨平臺運行,一般用于追求高效、低層次的開發(fā),如MCU。C內(nèi)存不安全,因此程序員需要警惕內(nèi)存泄漏、數(shù)據(jù)損壞等問題。從開發(fā)角度看,C/C語法簡潔靈活,開發(fā)效率高于Java,但學(xué)習困難,Java代碼繁瑣,開發(fā)效率低。然而,由于它有許多框架、許多可重用類庫和J2EE支持,因此在web和Internet開發(fā)中得到了廣泛的應(yīng)用。