當前位置:首頁 » 編程語言 » objectivejava

objectivejava

發布時間: 2022-08-02 19:09:49

⑴ Objective-C 和 java 很像,區別在哪兒

1.類比較
objC:例如創建一個bird的類
@Interface bird{
@private int foot;
}
-(void)eat{
NSLog(@"what is the bird eat?");
}
@end
objectC是以"-"和「+」開頭的類方法,-(void)eat:(id)sender{}加:是帶參數的,void是eat方法的返回類型,參數的描述包含兩個部分:圓括弧中的參數類型以及圓括弧後面的參數名。
java: class bird{
private int foot;
public void eat(){
system.out.println("what is the bird eat?");
}
}
C++:class bird{
private:int foot;
pubblic:eat();
};
與java和C++一樣ObjC的類也可以繼承其他類,幾乎所有的類都要繼承NSObject的基類,繼承方法也類似於C++但public和priavte關鍵字不能在父類前。注意objec和java一樣不能多繼承。
這里java中的interface在objectC就是protocol,但是在java中可以多介面,只能單繼承,這一點ObjetC和java相似。
2.實例化
在C++中創建實例:Bird *bird =new Bird();
在java中創建實例:Bird bird=new Bird();
而在objectC中則是: Bird *bird=[Bird alloc];這里的alloc是釋放的bird創建實例的消息調度。
3.消息
objectC一般調用alloc的調用函數,如Bool listening =[bird isListening];
在C++中則會這樣:bool listening =bird-> isListening();
在java中就會是:boolean listening =bird.isListening();
若要帶參數:[bird runEvent:fly];
C++:bird->run(fly);
java:bird.runEvent(fly);
4.成員變數
在ObjectC中self就像c++和java中的this一樣,ObjectC的類方法就使用self關鍵字。
5.內存管理
objectC不像java那樣有垃圾收集器可以看管對象釋放及分配內存,若objectc沒有內存管理的話,就會泄露內存。因此relase就是一個內存釋放器,當通過alloc函數或是以new 開頭的函數創建NSObject的子類實例時就將計數值-1,變成0就是由1->0若沒有內存管理,則計數值不會變成0.
這些是比較典型的,其實還有很多相同和不同之處。
因為objectC是c的超集。也就是可以用C來寫,其實在objectc的項目中可以添加C++語法,這樣的混編,文件的擴展名也就變成了.mm文件。

⑵ Objective-C語言如何轉化為JAVA語言

不能直接轉換,不過java可以通過jni調用 c。

⑶ Objective-C與java

Object c主要用於ios開發,當然要先學習c。java主要用於android開發,要先學習javase,當然如果把c也學了更好。零基礎當然可以自學,誰一開始就會編程。這個顯然比網頁開發簡單的多。

⑷ JAVA和objective c學那個

1、OC是擴充C的面向對象編程語言,C比JAVA快不用解釋。這個問題對於你的主要問題來說暫時無需考慮。
2、JAVA應用范圍包括企業級應用開發、網站開發、手機應用開發、伺服器等等,是個跨平台的語言,曾經是很火爆的主流語言。
OC目前來看是基於MACOS和iOS的應用軟體開發,近期即將開放的Apple TV SDK不知道是否是OC,但還是會帶來新的一輪蘋果風暴。
3、沒有有前景的行業,只有有前景的人。沒有哪個行業你跟風進去了就一定會成功,更不用提你現在要學習的語言,你提問這兩門語言無非是想進入手機開發行業,安卓選JAVA,iOS選OC,每個都有數十萬的開發者,不能說這十萬人有前途那十萬人就沒了前途,還是看你的眼光。押注也是仁者見仁智者見智。
4、好吧,實際上你只是想問這個,學java能夠讓你餓不死,退路很多,學oc看蘋果臉色。今年移動互聯網到處都有裁員的,3年前我敢跟你說肯定是ios開發待遇好,去年我敢說安卓待遇也不差,今年我想說想要高待遇那就跨平台。多的不說了,新人先別談待遇,大方向沒錯就成,選你更喜歡更熟悉的,早點行動起來。

⑸ Objective-c相比Java有哪些優點

本來從語言特性來說,
Objective-C
和Java比不合適,因為設計理念不同,Objective-C和C++可以比,Java和C#比。Java和C#編譯出的代碼都需要一個運行環境才能跑,類似
虛擬機
的方式執行代碼,Objective-C和C++編譯出的代碼則可以直接給交給CPU運行。有運行環境的語言,執行效率低很多,優點是開發簡單。
不過既然現在這兩個是最流行的
移動開發
語言,硬把兩者放一起比就相當於拿Google和Apple平台比,還是有意義的:
(1)執行效率:如上面所說,Objective-C效率高得多,所以
Android手機
的電池表現和性能表現很難均衡。Obj-C勝。
(2)開發效率:也如上面所說,Java開發更簡便。不過在蘋果的努力下,Objective-C開發MacOSX應用已經可以使用GC(自動垃圾回收),開發iOS應用有ARC(自動
引用計數
),反正都不再需要手動管理內存了,以前管理內存是Obj-C程序員的噩夢。Java勝。
(3)跨平台:除了蘋果的系統,已經沒什麼系統應用能用
Objective-C
開發了,但Objective-C可以和C++混合編譯,C++的跨平台威力可秒殺Java,所以很多軟體都是用C++開發核心、在蘋果的平台上用Obj-C做個殼。當然,Java也能調用C++開發的代碼,但兩種語言格格不入(效率差距、類型差異),開發出的代碼一點都不優雅,無法與Obj-C
/
C++的融合媲美。平手。
(4)開源庫:Objective-C的開源庫豐富程度雖然比不上Java,但Objective-C可以和C++混合編譯,C++開源庫就可以和Java比了。不過考慮到跨語言開發還是比單語言開發麻煩一些,Java勝。
以上幾點權重不一樣的,例如移動開發時(1)最重要,所以個人認為Google選Java不是個好選擇,C++好得多,可能他們考慮的是C++幾乎是流行編程語言中最難學的。
如果Objective-C和C++比,個人認為Objective-C真是全方位都弱於C++。

⑹ objective-C和JAVA哪個比較好哪個比較難

java好也簡單

⑺ 學objective-C 還是JAVA

如果要掌握大的編程框架和思路,又是自學。我覺得從obj-c入門比較好。
完善的文檔體系,成熟的MVC架構,集成度非常高的IDE,都是別的開發語言不能比擬的。
通過它能夠很快掌握軟體項目開發的關注點,再退回來關注語言細節方面的區別轉向java是很快的。那時候你會知道自己應該要什麼。

當然C必然性的是先修語言,自學的話大概要2-3周。

熱點內容
電腦伺服器詳細介紹圖 發布:2025-01-23 12:03:42 瀏覽:155
社保查詢密碼是什麼東西 發布:2025-01-23 12:03:35 瀏覽:63
御龍在天腳本輔助 發布:2025-01-23 11:57:16 瀏覽:886
我的世界電腦版伺服器號碼 發布:2025-01-23 11:57:14 瀏覽:980
小科編程 發布:2025-01-23 11:48:55 瀏覽:673
安卓手機如何禁止未知軟體安裝 發布:2025-01-23 11:47:31 瀏覽:690
腳本我是一 發布:2025-01-23 11:44:27 瀏覽:642
安卓的哈靈麻將哪裡下 發布:2025-01-23 11:26:17 瀏覽:230
全本免費閱讀器在哪緩存 發布:2025-01-23 11:14:54 瀏覽:440
傳輸數據加密 發布:2025-01-23 11:03:20 瀏覽:256