A. java中一個介面可以繼承幾個介面嗎
可以,介面是常量值和方法定義的集合,是一種特殊的抽象類,可以繼承多個介面。例如:Interface3 Extends Interface0, Interface1, interface……。
java介面解析如下:
在Java中,定義一個介面的形式如下:
[public] interface InterfaceName {
}
介面中可以含有變數和方法。但是要注意,介面中的變數會被隱式地指定為public static final變數,而方法會被隱式地指定為public abstract方法且只能是public abstract方法,並且介面中所有的方法不能有具體的實現、
也就是說,介面中的方法必須都是抽象方法。
要讓一個類遵循某組特地的介面需要使用implements關鍵字,具體格式如下:
class ClassName implements Interface1,Interface2,[....]{
}
可以看出,允許一個類遵循多個特定的介面。如果一個非抽象類遵循了某個介面,就必須實現該介面中的所有方法。對於遵循某個介面的抽象類,可以不實現該介面中的抽象方法。
(1)java一個類實現多個介面擴展閱讀:
java繼承介面的特性:
1)一個類如果實現了一個借口,則要實現該介面的所有方法。
2)方法的名字、返回類型、參數必須與介面中完全一致。如果方法的返回類型不是void,則方法體必須至少有一條return語句。
3)因為介面的方法默認是public類型的,所以在實現的時候一定要用public來修飾(否則默認為protected類型,縮小了方法的使用范圍)。
B. java中 一個類可以同時實現兩個沒有任何關系的介面嗎
不一定,抽象類實現某個介面,可以不實現所有介面的方法,可以由它的子類實現。
比如
1
2
3
4
5
6
public
interface
a
{//定義一個介面
public
void
show();//定義一個介面方法
}
public
abstract
class
aextend
implements
a{//抽象類實現介面a,但可以不實現show方法,由子類再去實現
}
C. java中抽象類可以實現多個介面嗎
介面與介面之間沒有實現關系,介面與介面之間是繼承關系,介面之間的繼承存在多繼承。
介面與類之間是實現關系,一個類可以實現多個介面,一個類只能繼承一個父類
D. java中介面可以實現多個介面嗎
首先,java中的介面別說實現多個介面了,一個介面也不能實現。因為介面中的方法是沒有方法體的,所以不能實現任何介面。
其次,一個介面可以繼承多個介面。因為類如果可以多繼承,實例化時,如果要調用父類的方法,如果兩個一樣,根本就不知道該調用那個父類的方法; 但是介面就不一樣了,因為介面繼承多個介面,就算多個介面有相同的方法,但是最終實現介面的類只能實現一個方法且@Override一個方法,所以調用時就不會有問題了。
至於抽象類和普通類一樣,因為抽象類中可以有普通的方法(帶有方法體),也可以有抽象方法,所以抽象類可以實現多個介面。
E. 抽象類在Java語言中表示的是一種繼承關系,一個類只能使用一次繼承.但是一個類卻可以實現多個介面.
A選項,對。java中類之間只能夠實現單繼承,即就是說一個類只能有一個父類,但允許多層繼承,即就是一個類有一個父類,該父類還可以有自己的一個父類。舉個例子:假如A能夠繼承類B和C,但當B,C中有相同的方法時,讓A來調用,那麼,A到底調用的父類中誰的方法呢?所以,java中類只能夠實現單繼承。
但,類對於介面的話,類可以實現多個介面,即使不同介面有相同的抽象方法,子類默認也只會實現一個。
B選項,對。抽象類可以沒有抽象方法。但是有抽象方法的類一定是抽象類。
C選項,不對。不對是因為前半句,實現抽象類和介面的如果是非抽象類的話,該非抽象類就必須實現其中所有的抽象方法,而不是所有方法,因為抽象類還可以有其他方法體跟實現。
但假如實現抽象類和介面的是抽象類的話,那麼抽象類就可以不用實現所有方法(所有方法包括父類或介面的所有抽象方法)(意思就是,該抽象類需要哪個抽象方法了就去實現,不需要了就不用去實現)。
後半句正確,介面和抽象類中的抽象方法只有聲明(即定義方法)不能有實現,這些抽象方法存在目的是讓子類重寫。
因為介面中只能定義抽象方法,故而C選項說的介面中的方法都不能被實現,是對的。
但抽象類可以有非抽象的方法和其方法的具體的方法,比如抽象類的構造方法(只是該構造方法不能被new實例化)。
D選項,對。解釋下D選項,介面中需要定義成員變數時,該成員變數必須定義為常量,然而定義常量那就必須用final來修飾,再者,該常量對於實現介面的所有實現類只能有一份,故而必須用靜態的static來修飾,再加上介面必須要具體類來實現才有意義,所以必須是public來修飾。並且,在定義該成員變數時必須進行直接賦初始值!如:public static final int age = 10;而不是像只由final修飾的成員變數那樣,即可以直接賦值,也可以在構造方法裡面賦值。同時,既然被final修飾了,那麼該變數已經成為最終變數了,那麼該值當然是不可變的,也是不可以被重新定義的了。
E選項,對。介面必須要具體類來實現才有意義,所以必須是用public來修飾介面中的抽象方法的,同時,省略不寫public的時候,默認還是public修飾符。
同時,實現介面的子類,在定義重寫子類方法的訪問級別不能低於父類相應方法的訪問級別。
F. java中介面可以實現多個介面嗎
同學,你的表述有點問題。java中,介面之間,只存在繼承,因為介面中沒有具體的方法體,所以是可以多繼承的。
interface A extends B,C{}
實現一般是說介面和類的關系之間,介面和類之間可以實現多實現。
class A implements B,C {} 需要實現B,C中全部的方法,如果沒有實現,需要將類A聲明成抽象的。
G. java中一個類能有多個介面嗎
沒有錯,JAVA中一個類可以實現多個介面,介面間用逗號閣開,而且必須實現介面中的每個抽象方法。
H. java中一個類 怎樣實現2個介面有相同的方法名
1、首先雙擊打開eclipse開發工具,新建一個Java項目,並創建java package。
I. java類實現多個介面有什麼好處
java和C#一樣,同樣只能有一個基類,但可以有多個實現。
具有多個實現的一個好處就是,當實現多個介面時,如果兩個介面有同樣的方法,那麼實現一次就可以了。
interface A
{
public void show();
}
interface B
{
public void show();
}
class C implements A,B
{
public void show()
{
System.out.println("測試");
}
}
class InterfaceDemo
{
public static void main(String[] args)
{
C c=new C();
c.show();
System.out.println("Hello World!");
}
}
由於介面沒有方法體,所以介面可以實現多繼承,例如:
interface AA
{
}
interface BB
{
}
interface CC extends AA,BB
{
}
class InterfaceExtentsDemo
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
以上代碼可以實現編譯,說明介面可以繼承多個介面。為什麼不能實現類的多繼承,主要是防止多個類有相同的方法名,然而方法體不一樣,子類就比較難選擇了。所以java和C#
不支持類的多繼承
J. JAVA:一個類實現多個介面
//A介面interface A{
public int getA();
}
//B介面
interface B{
public int getB();
}
//實現了某個介面必須實現其全部的方法
public class ImpAB implements A,B{
public int getA() {
return 0;
}
public int getB() {
return 0;
}
}
(10)java一個類實現多個介面擴展閱讀:
功能
在Java語言規范中,一個方法的特徵僅包括方法的名字,參數的數目和種類,而不包括方法的返回類型,參數的名字以及所拋出來的異常。
在Java編譯器檢查方法的重載時,會根據這些條件判斷兩個方法是否是重載方法。但在Java編譯器檢查方法的置換時,則會進一步檢查兩個方法(分處超類型和子類型)的返還類型和拋出的異常是否相同。
介面實現和類繼承的規則不同,為了數據的安全,繼承時一個類只有一個直接父類,也就是單繼承,但是一個類可以實現多個介面,介面彌補了類的不能多繼承缺點,繼承和介面的雙重設計既保持了類的數據安全也變相實現了多繼承。
Java介面本身沒有任何實現,因為Java介面不涉及表象,而只描述public行為,所以Java介面比Java抽象類更抽象化。但是介面不是類,不能使用new 運算符實例化一個介面。
Java介面的方法只能是抽象的和公開的,Java介面不能有構造器,Java介面可以有public、static和final屬性。即介面中的屬性可以定義為 public static final int value=5。
介面把方法的特徵和方法的實現分割開來。這種分割體現在介面常常代表一個角色,它包裝與該角色相關的操作和屬性,而實現這個介面的類便是扮演這個角色的演員。一個角色由不同的演員來演,而不同的演員之間除了扮演一個共同的角色之外,並不要求其它的共同之處。