您好,歡迎來到賦能網(wǎng)!

java中接口可以創(chuàng)建對(duì)象嗎?Java接口如何實(shí)現(xiàn)?

賦能網(wǎng) 2023-05-09 58

java接口在JAVA編程語言中是一個(gè)抽象類型,是抽象方法的集合,接口通常以interface來聲明。一個(gè)類通過繼承接口的方式,從而來繼承接口的抽象方法。那java中接口可以創(chuàng)建對(duì)象嗎?下面來我們就來給大家講解一下。

接口存在的意義就是支持java的多態(tài)機(jī)制。java規(guī)定接口interface不能直接使用new關(guān)鍵字來創(chuàng)建對(duì)象,但并沒有限定它不能創(chuàng)建對(duì)象。學(xué)習(xí)了匿名內(nèi)部類后,可以發(fā)現(xiàn),接口使用匿名方式創(chuàng)建對(duì)象也是可以的。

例如:

File driec = new File("G:/file/test");
File[] files = driec.listFiles(new FilenameFilter()
{ //FilenameFilter是接口,創(chuàng)建其匿名對(duì)象
    @Override
    public boolean accept(File dir, String name)
    {
        return new File(dir, name)
            .isFile() && name.endsWith(".java");
    }
});

Java接口如何實(shí)現(xiàn)?

當(dāng)類實(shí)現(xiàn)接口的時(shí)候,類要實(shí)現(xiàn)接口中所有的方法。否則,類必須聲明為抽象的類。

類使用implements關(guān)鍵字實(shí)現(xiàn)接口。在類聲明中,Implements關(guān)鍵字放在class聲明后面。

實(shí)現(xiàn)一個(gè)接口的語法,可以使用這個(gè)公式:

接口語法:

...implements 接口名稱[, 其他接口名稱, 其他接口名稱..., ...] ...

實(shí)例

MammalInt.java 文件代碼:

public class MammalInt implements Animal
{
    public void eat()
    {
        System.out.println("Mammal eats");
    }
    public void travel()
    {
        System.out.println("Mammal travels");
    }
    public int noOfLegs()
    {
        return 0;
    }
    public static void main(String args[])
    {
        MammalInt m = new MammalInt();
        m.eat();
        m.travel();
    }
}

以上實(shí)例編譯運(yùn)行結(jié)果如下:

Mammal eatsMammal travels

重寫接口中聲明的方法時(shí),需要注意以下規(guī)則:

類在實(shí)現(xiàn)接口的方法時(shí),不能拋出強(qiáng)制性異常,只能在接口中,或者繼承接口的抽象類中拋出該強(qiáng)制性異常。

類在重寫方法時(shí)要保持一致的方法名,并且應(yīng)該保持相同或者相兼容的返回值類型。

如果實(shí)現(xiàn)接口的類是抽象類,那么就沒必要實(shí)現(xiàn)該接口的方法。

在實(shí)現(xiàn)接口的時(shí)候,也要注意一些規(guī)則:

一個(gè)類可以同時(shí)實(shí)現(xiàn)多個(gè)接口。

一個(gè)類只能繼承一個(gè)類,但是能實(shí)現(xiàn)多個(gè)接口。

一個(gè)接口能繼承另一個(gè)接口,這和類之間的繼承比較相似。

在Java編程中,java接口是很重要的,它能夠有利于代碼的規(guī)范,對(duì)代碼進(jìn)行維護(hù),實(shí)現(xiàn)代碼的安全。最后大家如果想要了解更多java初識(shí)知識(shí),敬請(qǐng)關(guān)注賦能網(wǎng)。


本文鏈接:

本文章“java中接口可以創(chuàng)建對(duì)象嗎?Java接口如何實(shí)現(xiàn)?”已幫助 58 人

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579

如果本頁不是您要找的課程,您也可以百度查找一下: