C語(yǔ)言和Java的區(qū)別_JAVA和C++的核心區(qū)別
C語(yǔ)言和Java的區(qū)別_JAVA和C++的核心區(qū)別
C語(yǔ)言和Java作為編程界的兩大編程語(yǔ)言,兩者之間,有聯(lián)系又有區(qū)別。下面學(xué)習(xí)啦小編帶你去了解一下JAVA和C++的核心區(qū)別吧。
C語(yǔ)言和Java的區(qū)別
A.在繼承中的區(qū)別
C語(yǔ)言是多線(xiàn)繼承,比如:小轎車(chē)和貨車(chē)都繼承了汽車(chē)類(lèi),奧迪2000是繼承小轎車(chē)的,東風(fēng)大卡車(chē)是繼承貨車(chē),這樣奧迪2000也可以繼承貨車(chē),東風(fēng)大卡車(chē)也可以繼承小轎車(chē)。
JAVA是單繼承的,比如:小轎車(chē)和貨車(chē)都繼承了汽車(chē)類(lèi),奧迪2000是繼承小轎車(chē)的,東風(fēng)大卡車(chē)是繼承貨車(chē),這樣奧迪2000就不能繼承貨車(chē),當(dāng)然東風(fēng)大卡車(chē)也不能繼承小轎車(chē)。
B.在動(dòng)態(tài)、靜態(tài)綁定中的區(qū)別
在C語(yǔ)言中,為了允許運(yùn)行時(shí)動(dòng)態(tài)決定哪個(gè)函數(shù)被調(diào)用,一個(gè)函數(shù)必須用virtual修飾。virtual關(guān)鍵字被自動(dòng)繼承,用以支持多態(tài);凡是沒(méi)有用virtual修飾的成員函數(shù)(包括static)都是靜態(tài)綁定的,即在編譯時(shí)決定調(diào)用哪個(gè)版本
而在Java中,除了static、final、private是靜態(tài)綁定以外,所有方法一律按動(dòng)態(tài)綁定處理
C.在初始值的區(qū)別
在C語(yǔ)言中,是可以不初始化使用的
而在JAVA中,是必須初始化值的
D.在抽象方法或抽象類(lèi)的區(qū)別
C語(yǔ)言的對(duì)等語(yǔ)法是“純虛函數(shù)”和“抽象類(lèi)”
Java使用abstract關(guān)鍵字修飾抽象方法或抽象類(lèi),final類(lèi)不能被繼承
都使用抽象類(lèi)作為繼承層次中的基類(lèi),提供一般概念,由子類(lèi)實(shí)現(xiàn)其抽象方法,且抽象類(lèi)都不能被直接實(shí)例化為對(duì)象
E.super關(guān)鍵字的區(qū)別
JAVA super關(guān)鍵字,指代父類(lèi)對(duì)象,通常被用于調(diào)用父類(lèi)的構(gòu)造方法或一般方法
C語(yǔ)言沒(méi)有super關(guān)鍵字
C語(yǔ)言的定義
C語(yǔ)言是一門(mén)通用計(jì)算機(jī)編程語(yǔ)言,應(yīng)用廣泛。C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。
盡管C語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫(xiě)出的C語(yǔ)言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱(chēng)MCU)以及超級(jí)電腦等作業(yè)平臺(tái)。
Java的定義
Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。Java 技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話(huà)和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專(zhuān)業(yè)社群。
>>>下一頁(yè)更多精彩“JAVA和C++的核心區(qū)別”