導航:首頁 > 編程語言 > java不寫介面

java不寫介面

發布時間:2023-01-22 17:51:50

java下 類或介面不寫修飾符 那它的訪問許可權默認是public嘛

你好,不是public,是default。
預設情況下,是default,只能被同一包的訪問。
希望可以幫到你,望採納。

㈡ 為什麼寫Java程序需要介面

這里我們需要先明確定義,你說的java,如果單純的指java本身,那麼介面就是interface;如果你指的是工作中用到的java,那大部分指的是提供出去給其他程序調用的介面。如果是interface,那沒啥好說的,java開始就提供了這個功能,方便coder在不考慮具體實現的情況下,先明確傳參入參要實現的大概功能等問題,是個好東西。如果你指的是其他程序調用的介面,舉個栗子:iPhone的手機想用android的數據線充電,那就需要一個轉換頭,我們的介面相當於附著在java項目上的轉換頭,只不過恰好也適用java這種語言寫的罷了。

㈢ 為什麼java中系統定義的介面不用進行重寫而自定義的介面在類中全部都要進行重寫呢

這可能要從操作系統上來說

伺服器操作系統有很多
收費的系統有 unix ,windows等
免費的主要是 linux.
一般來說 windows 對的資料庫是mssql 這兩者的使用費用都相當昂貴. 具體來說都是好幾十萬的算.
unix的話 最穩定,一般國家基礎電信系統都是unix. unix是最貴的操作系統了聽說是百萬級別的(money)

所以一般上了一定的規模 但是不想因為使用windows盜版而引來官司的話 都是使用linux+mysql 數據作為程序的基礎支撐. 但是一般開發上用的多的系統都是windows 所以就存在了程序的跨平台問題,java就是看準了這個問題才出來的,藉助於java vm的支持 能讓java程序在所有環境下運行(官方語言),程序發展(web)最終使用的平台都是unix 所以java就能在之間一直運行.

很顯然java的模式其實很大程度上模擬了dll的實現,但是dll的話只能在windows平台下運行.java只能在jvm上運行.原理是一樣不知道您能不能理解,要知道sun也是做操作系統的 只是沒有在市場中佔到領導位置,所以退到了二線來做java虛擬機.但是發現這個很有遠景,所以微軟也改寫了dll的規范 提出了.net的構思,在.net2.0的框架裡面這個有很大的優化,但是微軟一直是一個壟斷公司他的目標都是銷售他的操作系統,這是他的最終目標,所以他不會考慮跨平台的問題,所以java在很大程度上有優勢也有益於我們的系統,但是要知道伺服器系統最終都是走向unix所以都需要花錢的 哈哈. 不過說了這么多我也沒說明白java的好處,
但是要知道java在j2ee上很有前途.畢竟發展了好多年啊.基礎構件都比.net優秀.但是在窗體開發上java並不優秀.j2ms的話抄做的比較厲害,實際做的人不多.

㈣ JAVA子類必須重寫實現的一個介面的所有方法嗎如果沒全寫會怎麼樣

沒全寫會報編譯錯誤啊。因為介面的方法都是抽象方法。實現一個介面就類似於繼承一樣,需要實現所有方法才不會報錯。

㈤ Java的介面如果不實現就沒有了嗎

介面,正是面向對象的精髓所在。我這里說的介面泛指抽象,可以包括各種抽象方法。

樓主可能剛接觸面向對象,對這個介面的作用感受不深,但是我可以告訴你,面向對象之所以存在,是需要你用全面的眼光看問題,而不是只盯住一個個的局部。否則的話面向對象的存在毫無意義,就會出現你的類似問題。

繼承一個類當然是面向對象語言的特性之一,但是光如此的話意義有限,因為它的表現力有限,類能表示什麼?舉個例子來說,動物可以是一個類,你可能認為這個表示的范圍已經夠大了,但是它可以有一些你忽略掉的概念,比如動物是可數的,這就牽涉到「可數的」這個概念。「可數的」這個概念和「動物」這個概念顯然不同,前者是抽象的,後者最多是半抽象的。「可數的」這個概念可以應用到其他的類中,比如植物,等等。在 Java 中,就可以定義成 public interface Countable {} 這么一個介面。

面向對象其實面向的是現實世界的模型。你要知道現實世界中很多概念都是抽象的,沒辦法用具體的事物代替,只能說某類具體事物是包含某些種概念的。
映射到程序語言,就是介面。介面是底層模型,描述了一種抽象概念的基本方法。因為它太抽象了,所以需要有類來包含並實現它。

面向對象的程序語言都有類似 Java 中「介面」的概念,它們都表現為抽象。面向對象程序語言和面向過程的語言的最大不同就是它們能夠描述一類問題,這類問題甚至可以是純粹抽象的,而不僅僅是解決一個具體的問題。

如果樓主仍然迷惑,不要緊,慢慢你就會體會到,我們可以利用面向對象來做更多的事情。

------------------------------------
還有注意到上面的說法:我始終說「繼承」類,而「實現」介面。因為這兩個在概念和用法上都有本質的區別。在 Java 中只可以繼承一個類而可以實現多個介面。這在現實中同樣有反映:
一類具體事物可以說屬於一類更廣泛的事物,而它卻可以包含多種抽象的概念。

再舉個例子,你可以更體會到介面的作用:

例如「恆星」屬於「星球」,並且恆星是「會發光」的。
恆星可以有一個方法叫「發光」,這個顯然不能從星球這個類繼承,因為不是所有的星球都會發光,但是也不是所有會發光的物體都是恆星。
「恆星」本質上是「星球」,因此最合適的做法是讓「恆星」繼承「星球」,然後實現「會發光」這一介面,「會發光」這一介面中包含一個抽象的「發光」方法,比如「電燈」也可以實現這個介面,但「電燈」和「恆星」的「發光」是不一樣的,需要各自實現。

------------------------------------
介面是一種特殊的類,它的確很特殊,特殊在它的抽象。在 C++ 中不用考慮這種特殊性,因為 C++ 中沒有介面,而類可以多繼承。在 Java 中的單繼承導致必須考慮這種特殊性。因此 Java 的介面是抽象類無法代替的,在寫一個規模化的程序時如何設計介面與類就體現了你對面向對象的理解。為了充分利用多介面實現的特性,盡量把最抽象的概念定義為介面是明智的選擇!

㈥ Java不實現介面能不能實現介面里的方法

如果你實現在介面.那麼你就必須實現介面裡面的所有方法.
如果你在另一個類中寫了一個和介面一樣的方法,那兩者又沒有什麼關系,
何談實現介面

㈦ 問:java編程中 用介面和不用介面的好處

用介面可以把方法的定義和實現分離開來,也就是說,同一方法可以有多種實現方法,只要符合介面中聲明的方法名。例如:一個持久化的介面A,其中有一個保存方法叫save。實現介面的類B,B中有一個方法簽名與A中的save一樣。類B中的save方法功能是把數據保存到資料庫中。實現介面的類C,C中有一個方法簽名與A中的save一樣。類C中的save方法功能是把數據保存到文件系統中。這里類B與類C就是介面A的不同的實現。

㈧ 為什麼寫Java程序需要介面

我之所以以這個作為標題,並不是為了玩噱頭,講一些似是而非的空話,還是以探索加發現,
首先介面並不是Java才有的,這個是面向對象語言的基本特徵之一。回想面向對象之前的那些
編程語言Win32 API中有個最經典的例子是當你在windows窗口中繪制一些內容以後,最大
化再最小化以後內容沒了,原因是你沒有捕獲重寫windows的一個WM_Paint的消息,
CallBack(回調)
,意思是你調用
然而當面向對象語言洶涌發展,各種設計模式應運大行其道,很少再有人提及Callback了,怎
么回事情,難道它消失了嗎,沒有它被面向對象語言換了個名字用得更加的大行其道,以致你以
為它不存在了,在Java中它就是介面。舉個Java中最簡單的例子,線程的Runnable介面,當
你在Java中啟動一個線程時候,Java通過調用thread.start()函數來幫你實現線程的啟動,但是
現,所以這個是個很好的CallBack的例子,你調用start()方法讓JVM執行線程,JVM回調你實
另外個很好的例子,可以很完美的詮釋介面的秒用,Java編譯的時候常會有包依賴關系,假設A
要依賴B,這個沒問題,如果有一天你發現B中的類C居然要反過來訪問A裡面的類D,你傻
眼了,這樣就會破壞AB之間的依賴關系,還會產生編譯錯誤,這個時候定義介面文件E在B中,
讓D繼承一下,傳回一個reference給C,問題很完美的解決,也許這么說比較復雜,看下圖:
就這樣,你還可以在D中調用C,想讓C執行D的方法process()只要回傳一個reference即可。
而Spring則將介面的概念更加的發揚光大,很多人接觸Spring就知道一個概念依賴注入,如果
事情,完全由你自己決定,這是一個很偉大的思想,不過是把介面與實現更加測地的分離了,這
樣你再也不遇到因為包依賴關系導致的編譯錯誤,Spring的ApplicationContext與
XMLBeanFactory對象幫你自動實現了包依賴解耦。
最後你會發現,介面本質上不過在回調函數之上批了一件華麗的外衣,想當初WIN32 API的年
代,只有Callback這種東西真的滿天飛,而且現在還在飛!

㈨ 寫java事件有沒有其他辦法不用實現介面的所有方法啊

只需要繼承相應的適配器就可以了,比如implements ActionListener
可以寫為 extends ActionAdapter
ActionAdapter 是 java提供的,它已經實現了ActionListener介面並用花括弧概念實現了其中的方法,使用時直接繼承然後覆蓋要使用的方法即可.
常用的Listener都有相應的適配器類,如WindowsListener則為WindowsAdapter

㈩ java中,有個特例,普通類可以不用重寫介面所有方法,大家看看。

equals方法Object裡面有,實現這個介面的匿名內部類也就是創建一個這個實現介面的子類,而任何類都繼承Object,所以不重寫就是從Object繼承了,當然你也可以重寫。

閱讀全文

與java不寫介面相關的資料

熱點內容
linuxmini 瀏覽:997
如何找編程類的工作 瀏覽:286
jsp從mysql讀取時間 瀏覽:680
有什麼app可以存app 瀏覽:603
游戲編程從哪裡學的 瀏覽:738
win8文件布局 瀏覽:308
數據存儲參數配置文件 瀏覽:122
面膜去哪個網站買好 瀏覽:627
天下游舊版本 瀏覽:622
iphone6按鍵震動 瀏覽:528
u盤沒有顯示怎麼打開文件夾 瀏覽:13
win7升級win10激活失敗 瀏覽:914
win10系統文件缺失介質修復 瀏覽:900
怎麼樣系統升級 瀏覽:518
魔客吧傳奇網站模板 瀏覽:365
一段代碼解決html多瀏覽器兼容 瀏覽:803
淘車大師app官方下載 瀏覽:953
win10系統怎麼能找回桌面文件 瀏覽:423
換主板怎麼裝驅動程序 瀏覽:563
宜搜小說舊版本 瀏覽:310

友情鏈接