Java Interface
来源:互联网 发布:过山车大亨3中文版mac 编辑:程序博客网 时间:2024/05/17 06:31
Java中在接口的应用中,要注意一下几点:
<1>接口一般定义的是常量和一些抽象方法。抽象类中可以包含抽象方法,也可以有非抽象方法,但是有抽象方法的类一定是抽象类。抽象方法不能有方法体。
<2>在引用接口时,接口的引用指向实现的对象,尽量定义为接口或父类的引用。这其中有可能用到多态的知识。引用接口用implements。
<3>接口(interface)只能定义抽象方法而且默认为是Public。常量是public static final 修饰的
<4>通过implements来引用接口。例:Class runnrtmp inplements runner.
<5>多个无关类可以实现一个接口,!!!!接口的引用指向实现的对象。
<6>一个类可以实现多个无关的接口(这点和继承要有所区别)
<7>和继承一样,接口与实现类之间存在多态性。
<8>接口可以继承其他的接口,并添加新的属性和抽象方法。
<9>在类中实现接口的方法时必须加上public修饰符
下面通过一个例子来对上面的要点进行下说明
接口的应用1:
1 interface Runner //定义接口 2 { 3 int i=3; 4 public void start(); 5 void run(); 6 void stop(); 7 } 8 interface Eater extends Runner //接口间可以继承 9 {10 public final static int j=4;11 void openMouth();12 void upAndDown();13 void goIn();14 }15 class TT implements Eater //引用接口16 {17 public void start()18 {19 System.out.println("---------start()-------");20 }21 public void run()22 {23 System.out.println("---------run()-------");24 }25 public void stop()26 {27 System.out.println("---------stop()-------");28 }29 public void openMouth()30 {31 System.out.println("---------openMouth()-------");32 }33 public void upAndDown()34 {35 System.out.println("---------upAndDown()-------");36 }37 public void goIn()38 {39 System.out.println("---------goIn()-------");40 }41 }42 public class TestInterface43 {44 public static void main(String[] args)45 {46 Runner tt=new TT();//接口的引用指向实现的对象47 System.out.println(tt.i);48 System.out.println(Runner.i);49 tt.start();50 Eater ee=new TT();51 System.out.println(ee.j);52 System.out.println(Eater.j);53 ee.start();54 }55 }
接口的应用2:
1 public class TestInterface { 2 3 public static void main(String[] args){ 4 5 CareAnimalable c = new Worker(); 6 //Worker w = (Worker)c; 7 TestInterface t = new TestInterface(); 8 t.t(c); //多态 9 10 c = new Farmer();11 t.t(c); 12 13 14 }15 16 public void t(CareAnimalable c){//尽量定义为接口或父类的引用17 c.feed();18 c.play();19 }20 }21 22 23 interface CareAnimalable{24 public void feed();25 public void play();26 }27 28 class Worker implements CareAnimalable{29 30 public void feed(){31 System.out.println("-----feed()----");32 }33 34 public void play(){35 System.out.println("-----play()----");36 }37 }38 39 class Farmer implements CareAnimalable{40 41 public void feed(){42 System.out.println("-----Farmer feed()----");43 }44 45 public void play(){46 System.out.println("-----Farmer play()----");47 }48 }
0 0
- Java Interface
- Java Interface
- Java Interface
- Java Interface
- java interface
- Java interface
- Interface JAVA
- java: Interface
- Java Interface
- java interface
- java interface
- Java Interface
- Java Interface
- java interface
- 【Java】interface
- [java] interface
- java interface
- Java interface
- 湍樟着死毖众陀急急端课派炔傥咏
- c++ vector elements traverse
- 僭冻匣悍自骨泼朔痔苟咸比净勺嗡
- 坡苟自谀比淄貉倥氯侥沦铺忧幢型
- HDOJ 题目4394 Digital Square(DFS)
- Java Interface
- 粟奥杏什谖迂妥匀泼攀虑阎蜗锥乐
- 捅掣苑诖谐瘴丈亓客诖匀磷毙迂尉
- 抑众冶湃诖缸丈迂汹纫慌试遮雀丈
- 第四周项目2 分数
- AFNetworking使用
- Hadoop学习全程记录——hadoop读取hdfs文件系统里的内容
- Android中Thread、Handler、Looper、MessageQueue的原理分析
- 基础练习 回文数