自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析Java語(yǔ)言中接口的特點(diǎn)和繼承

開發(fā) 后端
本文主要介紹了接口的繼承和接口的特點(diǎn)。接口的繼承是定義一個(gè)接口使用extends關(guān)鍵字來(lái)繼承另一個(gè)接口,通過如何實(shí)現(xiàn)接口的繼承例子來(lái)幫助大家的理解這個(gè)用法。

[[377403]]

一、接口的繼承

1.定義一個(gè)接口使用extends關(guān)鍵字來(lái)繼承另一個(gè)接口,這就是接口的繼承。

2.語(yǔ)法:

  1. [修飾符] interface 接口名 extends 父類接口1, 父類接口2, …{ 
  2.         定義常量0個(gè)或多個(gè); 
  3.         定義抽象方法0個(gè)或多個(gè); 

3.如何實(shí)現(xiàn)接口的繼承關(guān)系例子

  1. //定義Printer接口 
  2. interface Printer{ 
  3.     int max_line=20;//定義全局常量 
  4.     void printRun();//定義抽象方法pirntRun() 
  5.     void printData();//定義抽象方法printData() 
  6. //定義了Autopriner接口,然后繼承Printer接口 
  7. interface Autoprinter extends Printer{//接口繼承 
  8.     void autoPrint();//定義抽象方法autoPrint()方法 
  9.  
  10. //Colorprinter類實(shí)現(xiàn)Printer接口 
  11. class Colorprinter implements Autoprinter{ 
  12.     //實(shí)現(xiàn)printRun()方法 
  13.     public void printRun(){ 
  14.         System.out.println("彩色打印機(jī)正在啟動(dòng)"); 
  15.   } 
  16.     //實(shí)現(xiàn)printData()方法 
  17.     public void printData(){ 
  18.         System.out.println("彩色打印機(jī)正在打印中"); 
  19.   } 
  20.     //實(shí)現(xiàn)autoPrint()方法 
  21.     public void autoPrint(){ 
  22.         System.out.println("彩色打印機(jī)自動(dòng)打印"); 
  23.   } 
  24.  
  25. public class p27 { 
  26.     public static void main(String[] args) { 
  27.         // TODO Auto-generated method stub 
  28.         Colorprinter c=new Colorprinter();//創(chuàng)建Colorprinter類的實(shí)例對(duì)象 
  29.         c.printRun();//調(diào)用Colorprinter類的printRun()方法 
  30.         c.printData();//調(diào)用Colorprinter類的printData()方法 
  31.         c.autoPrint();//調(diào)用Colorprinter類的autoPrint()方法 
  32.   } 

輸出的結(jié)果是:

  • 彩色打印機(jī)正在啟動(dòng)
  • 彩色打印機(jī)正在打印中
  • 彩色打印機(jī)自動(dòng)打印

從上面的代碼中,首先是定義了Printer接口,定義全局常量和兩個(gè)方法分別是printRun()和printData(),然后再定義一個(gè)Autopriner接口來(lái)繼承Printer接口,再Colorprinter類實(shí)現(xiàn)Printer接口,此時(shí),Autopriner接口有三個(gè)抽象方法,通過Colorprinter類實(shí)例化對(duì)象然后調(diào)用對(duì)應(yīng)的方法。

二、接口的特點(diǎn)

1.接口里的方法是抽象的,不可以去實(shí)例化對(duì)象。

2.如果實(shí)現(xiàn)某接口的類是抽象類,那么可以不實(shí)現(xiàn)該接口的所有方法。對(duì)于這個(gè)抽象類任何一個(gè)不是抽象類的子類來(lái)說(shuō),就需要實(shí)現(xiàn)所有抽象方法。

3.一個(gè)類使用implements關(guān)鍵字實(shí)現(xiàn)多個(gè)接口

例如:

  1. //定義A接口 
  2. interface A{ 
  3.     int MAX=1;//定義全局常量 
  4.     void testA();//定義抽象方法testA() 
  5. //定義B接口 
  6. interface B{ 
  7.     int MAX=2;//定義全局常量 
  8.     void testB();//定義抽象方法testB() 
  9. //定義一個(gè)類實(shí)現(xiàn)A,B接口 
  10. class C implements A,B{ 
  11.     int MAX=3;//定義全局常量 
  12.     //實(shí)現(xiàn)testB()方法 
  13.     @Override 
  14.     public void testB() { 
  15.         // TODO Auto-generated method stub 
  16.         System.out.println("我是B"); 
  17.     //實(shí)現(xiàn)testA()方法 
  18.     @Override 
  19.     public void testA() { 
  20.         // TODO Auto-generated method stub 
  21.         System.out.println("我是A"); 
  22.   } 
  23. public class p28 { 
  24.     public static void main(String[] args) { 
  25.         // TODO Auto-generated method stub 
  26.         C c=new C();//創(chuàng)建C類實(shí)例對(duì)象 
  27.         c.testA();//調(diào)用C類的testA()方法 
  28.         c.testB();//調(diào)用C類的testB()方法 
  29.   } 

運(yùn)行的結(jié)果是:

  • 我是A
  • 我是B

從上面代碼中,定義了A和B接口,在C類中使用implements關(guān)鍵字實(shí)現(xiàn)A和B的接口的方法,實(shí)例化對(duì)象并調(diào)用對(duì)應(yīng)的方法。

4.一個(gè)接口使用extends關(guān)鍵字實(shí)現(xiàn)繼承多個(gè)接口

例如:

  1. //定義A接口 
  2. interface A{ 
  3.     int MAX=1;//定義全局常量 
  4.     void testA();//定義抽象方法testA() 
  5. //定義B接口 
  6. interface B{ 
  7.     int MAX=2;//定義全局常量 
  8.     void testB();//定義抽象方法testB() 
  9. //定義接口繼承A,B接口 
  10. interface C extends A,B{ 
  11.     int MAX=3;//定義全局常量 
  12.     void testC();//定義testC()方法 
  13. public class p29 { 
  14.     public static void main(String[] args) { 
  15.         // TODO Auto-generated method stub 
  16.         System.out.println(A.MAX); 
  17.         System.out.println(B.MAX); 
  18.         System.out.println(C.MAX); 
  19.   } 

運(yùn)行的結(jié)果是:

  1.  

5.一個(gè)類在實(shí)現(xiàn)某接口的抽象方法,就需要使用一樣的方法頭。

6.如果實(shí)現(xiàn)某接口的類不是抽象類,那么類的定義部分需要實(shí)現(xiàn)指定接口的所有抽象方法。

三、總結(jié)

本文主要介紹了接口的繼承和接口的特點(diǎn)。

接口的繼承是定義一個(gè)接口使用extends關(guān)鍵字來(lái)繼承另一個(gè)接口,通過如何實(shí)現(xiàn)接口的繼承例子來(lái)幫助大家的理解這個(gè)用法。

一個(gè)類使用implements關(guān)鍵字實(shí)現(xiàn)多個(gè)接口,一個(gè)接口使用extends關(guān)鍵字實(shí)現(xiàn)繼承多個(gè)接口。

本文轉(zhuǎn)載自微信公眾號(hào)「Java進(jìn)階學(xué)習(xí)交流」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Java進(jìn)階學(xué)習(xí)交流公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: Java進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2022-02-21 09:33:31

接口繼承Java語(yǔ)言

2009-04-30 15:15:01

Java抽象類接口

2009-06-29 12:58:47

This關(guān)鍵字java

2009-07-30 18:36:00

C#接口C#抽象類

2017-07-21 09:40:35

Python類、繼承和多態(tài)

2009-08-27 13:05:06

C#接口特點(diǎn)C#接口實(shí)例

2010-07-20 10:23:24

Perl類

2010-03-17 18:38:53

Java編程語(yǔ)言

2012-02-29 09:32:01

Java

2009-06-12 15:01:48

Java數(shù)組Java教程

2010-03-15 18:25:27

Java編程語(yǔ)言

2012-06-15 09:56:40

2023-11-21 15:46:13

Go內(nèi)存泄漏

2023-12-30 18:35:37

Go識(shí)別應(yīng)用程序

2009-06-12 14:18:20

構(gòu)造方法Java語(yǔ)言Java教程

2011-03-10 14:19:56

JavaScript

2010-01-21 13:48:30

C++基類

2010-06-18 15:15:13

UML

2011-07-15 15:47:02

JAVA

2009-09-04 17:34:11

C#CC++
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)