導航:首頁 > 方法技巧 > 介面方法如何重寫

介面方法如何重寫

發布時間:2023-04-17 04:09:05

❶ java介面和父類中有相同的方法,如何在子類中重寫介面中的方法

重寫襪辯父類的那個方法就重寫了介面的那個方法,兩個方法等同於一個方法。

有一種辦告好缺法就襪者是為父類的哪個方法重新寫一個方法,調用super,如下:

public class Aaa extends B implements A {

public void a() {
System.out.println("interface的方法");
}

public void extendsA(){
super.a();
}

public static void main(String[] args) {
Aaa aaa=new Aaa();
aaa.a();//實現介面中的方法。
aaa.extendsA();//這里就是父類方法本身的功能,調用的時候留心一些
}
}

interface A {
void a();
}
class B {
public void a(){
System.out.println("b");
}
}

❷ C#中怎樣實現類和介面的繼承,怎樣重寫方法,請高人寫具體點啊,謝謝

來個例子吧,以播放器為例。MP3播放器和讓櫻肢MP4播放器。他們都有播放的功能,但實現播放的功能不一樣,因為MP4可以播放視頻而MP3不能。這時可以定義一個介面讓這兩種播放器去自己實現各自的功能。
interface Media

//這里定義一個播放的方法就可以了,在介面里不允許實現。
//假如去實現的話,你是寫MP3的實現代碼還是MP4的實現代碼呢?
//這個方法的實現是不確定的,所以由子類去實現吧。坦世
void play();


class MP3 :Media

//實現介面
public void play()

//MP3的播放功能代碼



class MP4 :Media

//實現介面
public void play()

//MP4的播放功能代碼



介面定義的方法,在其子類必須要實現。

===============================

剛才是定義的介面,現在來定義一個Media的父類。

class Media

//定義虛方法,用virtual關鍵字,說明這個方法可以被子類重寫。
public virtual void play()
{
Console.WriteLine("播放");
}


class MP3 :Media

//重寫父類方法用override 關鍵字。
public override void play()
{
Console.WriteLine("MP3播放功能");
}


class MP4 :Media

//重寫父類方法用override 關鍵字。
public override void play()
{
Console.WriteLine("MP4播放功能");
}


這樣就實現重寫了。MP3和MP4類將會執行各自重寫的頌悔代碼。
網上也有很多的代碼,建議去多看看。

❸ java中,實現介面的方法的過程是重寫嗎

是重寫(更准確散者的應該說是實現)。
解釋:介面類中定義的都是抽象方法,沒有實現,所以當有介面被繼承後,必須實現介面類中的所有構造方法,這個過程就是重寫介面方法,沖橋薯之消歷後可以重新填寫方法內容,但是方法的名,參數類型和個數、參數返回值類型不能改變。

❹ java介面和父類中有相同的方法 如何重寫介面中的方法

1。介面和尺迅父類有相同方法,這種理解有點問題。子類介面繼承父類,本陵衡此身就擁有了父類的介面方法,何必要寫出來呢?
2。如果你寫個類實現了子類的介面,那麼你可以用父類或子類的引用來調用此方法,都是相同的。
3。如果你寫個類實現了父類的介面,那麼你只能用父類的引用來調攔森用此方法。

❺ java中,實現介面的方法的過程是重寫嗎

重寫
1、必須是在繼承里,
2、方法名、返回蠢蘆值類型、參數個灶檔掘數和參數類型
都必須相同
3、派生類重寫的方法的訪問許可權不能低於基類的許可權
首先介面就不是一個類,實現一個介面也隱核不是繼承關系。所以不能稱之為重寫。只能稱之為實現。

❻ 介面繼承介面,需要重寫父類的方法么,應該怎麼寫好迷茫……

介面不叫集成 叫實現。
1、想合並兩個介面可以 可以在類中用汪祥多實現啊 。一個類 實現多個衫如介面
2、如果實在要合並 寫個抽象類 實現這個介面。然後提供給別的類集成。困塌搏

❼ C#中介面的方法進行重寫的問題,SoundSiren這個方法無法重寫,求助!!!

只有被virtual和abstract修飾的沖賀方法才能被重咐行寫,你的SoundSiren方法來自於接衡判嘩口IEmergencyVehicle,沒有任何修飾,當然不能被重寫。

❽ java實現介面怎麼重寫介面中的方法

不一定,關鍵要看子類是否是抽象類。
如果子類是非抽象類,則必須實現介面中的所有方法;
如果子類是抽象類,則可以不實現介面中的所有方法,因為抽象類中允許有抽象方茄侍法的存在!
1、抽象類定義
抽象類往往用來表徵對問題領域進行分析、設計中得出的雀納激抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。通常在編程語句中用 abstract 修飾的類是抽象類。在C++中,含有純虛擬函數的類稱為抽象類,它不能生成對象;在java中,含有抽象方法的頃襪類稱為抽象類,同樣不能生成對象。抽象類是不完整的,它只能用作基類。在面向對象方法中,抽象類主要用來進行類型隱藏和充當全局變數的角色。
2、抽象類特點
1)抽象類不能實例化。
2)抽象類可以包含抽象方法和抽象訪問器。
3)不能用 sealed 修飾符修飾抽象類,因為這兩個修飾符的含義是相反的。 採用 sealed 修飾符的類無法繼承,而 abstract 修飾符要求對類進行繼承。
4)從抽象類派生的非抽象類必須包括繼承的所有抽象方法和抽象訪問器的實際實現。
3、與具體類的比較

❾ 實現filter介面的類需要重寫什麼方法

要實現一個Filter,我們需要繼承自FilterAttribute類同時實現上面的一個或幾個介面:
public
class
MyFilter
:
FilterAttribute,
IActionFilter,
IResultFilter
{
}
這幾個介面提供的方法如下:
上圖的方法和Filter介面對應的方法按名稱對號入座就可以。
IActionFilter介面有兩個方法:
其中OnActionExecuting在執行Action方法之前會被調用,OnActionExecuted會在Action方法執行後調用。注意他們的參數分別是ActionExecutingContext和ActionExecutedContext。
ActionExecutedContext類包含一個
Canceled的屬性,允許你取消當前的Action(怎麼原來在P3中是在ActionExecutingContext的Canceled屬性在P5中沒有褲脊逗了呢?神奇.那麼在OnActionExecuting的時候怎麼取消一個Action呢?)。
FilterExcutedContext
類包含一個Exception屬性和一個ExceptionHandled屬性。如果Exception屬性野橋為null,則沒有異常在action
stack中,表明Action方法運行並沒有發生錯誤。反之則為出現異常。如果將ExceptionHandled屬性設置為true則表明在這個
Filter中已經處理了異常。
IResultFilter介面也提供了兩個方法:
他們分別在Action返回結果(例如return
View();)之前和之後執行。和IActionFilter差不多就不多說了。
IAuthorizationFilter是一個用於身份驗證的Filter。只提供了一個void
OnAuthorization(AuthorizationContext
filterContext)方法。
IExceptionFilter會在出現異常的時候調用,也是只
提供一個void
OnException(ExceptionContext
filterContext)的方法;
這些Filter可以被應用在類或者方法上,下面我們來看一下他們的執行順序。首先我們寫一個BaseController並加上兩個Filter:
[MyFilter2(Target
=
"BaseController")]
[MyFilter1(Target="BaseController")]
public
class
BaseController
:
Controller
{
}
應為Controller類是實現這幾個Filter接胡賣口的,所以我們在HomeController中重寫Controller基類中的所有Filter介面的方法,並在HomeController類和裡面的Filter方法加上我們自定義的MyFilter:
[MyFilter2(Target
=
"HomeController")]
//[MyFilter1(Target
=
"HomeController")]//注意我在這里把MyFilter1注釋了.
[HandleError]
public
class
HomeController
:
BaseController
{
[MyFilter2(Target
=
"HomeController.Filter")]
[MyFilter1(Target
=
"HomeController.Filter")]
public
ActionResult
Filter()
{
return
Content("
這是在Action方法裡面返回的內容!
");
}
protected
override
void
OnActionExecuted(ActionExecutedContext
filterContext)
{
filterContext.HttpContext.Response.Write("
這是在HomeController裡面重寫OnActionExecuted方法添加的內容!
");
}
protected
override
void
OnActionExecuting(ActionExecutingContext
filterContext)
{
filterContext.HttpContext.Response.Write("
這是在HomeController裡面重寫OnActionExecuting方法添加的內容!
");
}
protected
override
void
OnAuthorization(AuthorizationContext
filterContext)
{
filterContext.HttpContext.Response.Write("
這是在HomeController裡面重寫OnAuthorization方法添加的內容!
");
}
protected
override
void
OnException(ExceptionContext
filterContext)
{
filterContext.HttpContext.Response.Write("
這是在HomeController裡面重寫OnException方法添加的內容!
");
filterContext.ExceptionHandled
=
true;
}
protected
override
void
OnResultExecuted(ResultExecutedContext
filterContext)
{
filterContext.HttpContext.Response.Write("
這是在HomeController裡面重寫OnResultExecuted方法添加的內容!
");
}
protected
override
void
OnResultExecuting(ResultExecutingContext
filterContext)
{
filterContext.HttpContext.Response.Write("
這是在HomeController裡面重寫OnResultExecuting方法添加的內容!
");
}
}

閱讀全文

與介面方法如何重寫相關的資料

熱點內容
侵權的後果跟解決方法 瀏覽:340
麻辣燙製作方法步驟詳解 瀏覽:752
什麼方法可以讓綵衣變亮 瀏覽:224
弱視最好的治療方法 瀏覽:99
治療胃病的土方法老胃病怎麼治呢 瀏覽:26
簡單黃豆醬的三種製作方法家庭 瀏覽:989
宮頸癌腺鱗癌治療方法 瀏覽:158
真銀的鑒別方法三個94個九點 瀏覽:852
突然陽痿治療方法 瀏覽:766
如何製作磁場方法 瀏覽:875
注水旗桿的安裝方法 瀏覽:212
直鉤簡化計算方法 瀏覽:921
燙皮的製作方法和配料視頻 瀏覽:347
醉拳訓練方法視頻教程 瀏覽:89
果汁伴侶的使用方法 瀏覽:235
改寫人生的方法和技巧 瀏覽:980
2014簡單方法防小人 瀏覽:443
小米3流量設置在哪裡設置方法 瀏覽:542
交通分布預測的常用方法 瀏覽:29
常用焊接成型的工藝方法及應用 瀏覽:59