去年,我重新審視了編程,休息後專注於Java。 我的目標是比Python更具挑戰性的語言。我將3-4個月的時間用於掌握Java的核心概念:其操作機制,面向對象的編程(OOP),內存管理和通過JDBC的數據庫連接。
最近,我從JavaScript開始過渡到Web開發。幾天后,探索JavaScript,我渴望分享我對Java和JavaScript之間關鍵區別的觀察和見解,以及如何進行平滑的過渡。
[2最引人注目的區別在於數據類型聲明。與Java的靜態鍵入不同,JavaScript是動態鍵入的。儘管兩種方法都有優點和缺點,但我們將重點介紹關鍵區別:JavaScript的單線線程自然與Java的多線程功能對比。 [2
想像一下Java是一位細緻的,面向細節的士兵。 說明必須精確,指定任務及其理由。相反,JavaScript類似於一個輕鬆的朋友;它有效地完成任務而沒有過多細節 - 簡單地提供任務,並處理執行。 [2 [2[2 公共靜態void main(string [] args){ int a = 5; int b = 6; int結果= a b; system.out.println(結果); } }
以下代碼段說明了類和方法創建中的句法差異:
[2 [2 字符串名稱; 人(字符串名稱){ this.name = name; } void engret(){ system.out.println(“ hello”,name); } 公共靜態void main(string [] args){ 人=新人(“約翰”); person.greet(); } }
[2
[2
構造函數(名稱){
this.name = name;
}
engret(){
console.log(`Hello,$ {this.name}`);
}
}
const Person =新人(“ John”);
person.greet();
[2
名稱:“約翰”,
問候:function(){
console.log(`Hello,$ {this.name}`);
}
};
person.greet();
[2
繼承語法在兩種語言上都顯示出相似之處。
[2
[2
void sound(){
system.out.println(“一些聲音”);
}
}
班狗擴展動物{
void sound(){
system.out.println(“ bark”);
}
}
公共類Main {
公共靜態void main(string [] args){
狗狗=新狗();
dog.sound();
}
}
[2
[2
聲音() {
console.log(“一些聲音”);
}
}
班狗擴展動物{
聲音() {
console.log(“ bark”);
}
}
const狗=新狗();
dog.sound();
[2
JavaScript的封裝比Java的封裝更弱;它缺乏訪問修飾符(
private protected
, public
)。 但是,在ES2022中引入的(私有字段)表示一定程度的私有字段控制:
[2
#姓名;
構造函數(名稱){
這個。 #name = name;
}
engret(){
console.log(`Hello,$ {this。#name}`);
}
}
const Person =新人(“ John”);
person.greet();
console.log(person。#name); //錯誤:必須在封閉類 JavaScript由於其解釋性質和缺乏編譯時間檢查而不支持過載。 但是,支持方法覆蓋:
[2
聲音() {
console.log(“一些聲音”);
}
}
班狗擴展動物{
聲音() {
console.log(“ bark”);
}
}
const狗=新狗();
dog.sound(); // bark
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3