當前位置:才華齋>計算機>java語言>

C語言和Java的區別有哪些

java語言 閱讀(6.21K)

作為程式設計界的兩大程式語言-C語言和Java,它們之間有什麼不同呢?下面小編給大家整理了C語言和Java的區別,供大家參閱。

C語言和Java的區別有哪些

1.C語言

C語言是一門通用計算機程式語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的'程式語言。

儘管C語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的C語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱MCU)以及超級電腦等作業平臺。

Java是一種可以撰寫跨平臺應用軟體的面向物件的程式設計語言。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於PC、資料中心、遊戲控制檯、科學超級計算機、行動電話和網際網路,同時擁有全球最大的開發者專業社群。

  3.C語言和Java的區別

A.在繼承中的區別

C語言是多線繼承,比如:小轎車和貨車都繼承了汽車類,奧迪2000是繼承小轎車的,東風大卡車是繼承貨車,這樣奧迪2000也可以繼承貨車,東風大卡車也可以繼承小轎車。

JAVA是單繼承的,比如:小轎車和貨車都繼承了汽車類,奧迪2000是繼承小轎車的,東風大卡車是繼承貨車,這樣奧迪2000就不能繼承貨車,當然東風大卡車也不能繼承小轎車。

B.在動態、靜態繫結中的區別

在C語言中,為了允許執行時動態決定哪個函式被呼叫,一個函式必須用virtual修飾。virtual關鍵字被自動繼承,用以支援多型;凡是沒有用virtual修飾的成員函式(包括static)都是靜態繫結的,即在編譯時決定呼叫哪個版本

而在Java中,除了static、final、private是靜態繫結以外,所有方法一律按動態繫結處理

C.在初始值的區別

在C語言中,是可以不初始化使用的

而在JAVA中,是必須初始化值的

D.在抽象方法或抽象類的區別

C語言的對等語法是“純虛擬函式”和“抽象類”

Java使用abstract關鍵字修飾抽象方法或抽象類,final類不能被繼承

都使用抽象類作為繼承層次中的基類,提供一般概念,由子類實現其抽象方法,且抽象類都不能被直接例項化為物件

r關鍵字的區別

JAVA super關鍵字,指代父類物件,通常被用於呼叫父類的構造方法或一般方法

C語言沒有super關鍵字