二者區別在于:java文件是源程序,class文件是編譯后的代碼。
關于源程序
未經編譯的,按照一定的程序設計語言規范書寫的,人類可讀的文本文件。
源程序可以是以書籍或磁帶或其他載體的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機可執行的程序。
將人類可讀的程序代碼文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,由各種編譯器來完成。一般用高級語言編寫的程序稱為“源程序”。
java文件就是這樣一個未經編譯的源程序,一般是給程序員看的。
編譯程序
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。
編譯程序屬于采用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。
編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
class文件就是被編譯器編譯過的java文件,通常是給計算機看的。
擴展資料:

JAVA工作原理:
使用文字編輯軟件或集成開發環境在Java源文件中定義不同的類 ;
通過調用類中的方法來訪問資源系統;
把源文件編譯生成一種二進制中間碼,存儲在class文件中;
然后再通過運行與操作系統平臺環境相對應的Java虛擬機來運行class文件,執行編譯產生的字節碼,調用class文件中實現的方法來滿足程序的Java API調用。
參考資料:
源程序-百度百科
編譯程序-百度百科
class和struct的區別:
1、class是引用類型,struct是值類型;
2、class可以繼承類、接口和被繼承,struct只能繼承接口,不能被繼承;
3、class有默認的無參構造函數,有析構函數,struct沒有默認的無參構造函數,且只能聲明有參的構造函數,沒有析構函數;
4、class可以使用abstract和sealed,有protected修飾符,struct不可以用abstract和sealed,沒有protected修飾符;
5、class必須使用new初始化,結構可以不用new初始化;
6、class實例由垃圾回收機制來保證內存的回收處理,而struct變量使用完后立即自動解除內存分配;
7、從職能觀點來看,class表現為行為,而struct常用于存儲數據;
8、作為參數傳遞時,class變量以按址方式傳遞,而struct變量是以按值方式傳遞的。
鵬仔微信 15129739599 鵬仔QQ344225443 鵬仔前端 pjxi.com 共享博客 sharedbk.com
免責聲明:我們致力于保護作者版權,注重分享,當前被刊用文章因無法核實真實出處,未能及時與作者取得聯系,或有版權異議的,請聯系管理員,我們會立即處理! 部分文章是來自自研大數據AI進行生成,內容摘自(百度百科,百度知道,頭條百科,中國民法典,刑法,牛津詞典,新華詞典,漢語詞典,國家院校,科普平臺)等數據,內容僅供學習參考,不準確地方聯系刪除處理!郵箱:344225443@qq.com)
圖片聲明:本站部分配圖來自網絡。本站只作為美觀性配圖使用,無任何非法侵犯第三方意圖,一切解釋權歸圖片著作權方,本站不承擔任何責任。如有惡意碰瓷者,必當奉陪到底嚴懲不貸!