java void eat_java 接口

在讨论接口之前我买必须先看一看抽象类。

1、抽象类:

1 /**

2 * 常规写法3 * 2016/5/54 **/

5 packagecn.Java_7;6 classFruit{7 public voideat(){8 System.out.println("eat fruit");9 }10 }11 class Apple extendsFruit{12 public voideat(){13 System.out.println("eat apple");14 }15 }16 class Orange extendsFruit{17 public voideat(){18 System.out.println("eat orange");19 }20 }21 class Banana extendsFruit{22 public voideat(){23 System.out.println("eat banana");24 }25 }26 public classAllFruit {27 public static voideatFruit(Apple apple){28 apple.eat();29 }30 public static voideatFruit(Orange orange){31 orange.eat();32 }33 public static voideatFruit(Banana banana){34 banana.eat();35 }36

37 public static voidmain(String[] args) {38 eatFruit(newApple());39 eatFruit(newOrange());40 eatFruit(newBanana());41 }42

43 }

抽象类:包含抽象方法的类就叫做抽象类,如果一个类中包含多个抽象方法,该类就必须限定为抽象的(abstract),在上一章多态当中,Fruit就可 以看做一个抽象类,我们不能对Fruit创建对象,因为水果是一类东西,不能成为一种具体的东西,我们吃水果只能说吃某种具体的水果,比如吃香蕉,吃苹 果,吃橘子,不能实例化吃水果,水果这种东西时不存在的,只能用具体的方法去覆盖吃水果这样一个动作。

如果一个方法被abstract限定为抽象的,那么包含这个方法的类也必须被限定为抽象的,如果一个类继承的一个抽象类,那么这个类就必须全部覆盖父类中所有的抽象方法,否则这个类也便认为是一个抽象类。

2、接口

abstract关键字允许人们类中创建一个没有任何定义的方法,提供了接口的部分,但是没有提供相应的具体的实现。

interface关键字产生一个完全抽象的类,它根本就没有提供任何具体的实现,它允许创建者确定方法名、参数列表,和返回类型,但是没有方法体。

1 /**

2 * 接口3 * 2016/5/54 **/

5 packagecn.Java_7;6 interfaceFruit{7 void eat(inta);8 }9 class Apple implementsFruit{10 public void eat(inta){11 System.out.println("小明吃了"+a+"个苹果");12 }13 }14 class Orang implementsFruit{15 public void eat(inta ){16 System.out.println("小芳吃了"+a+"个橘子");17 }18 }19 class Banana implementsFruit{20 public void eat (inta){21 System.out.println("小王吃了"+a+"个香蕉");22 }23 }24 public classAllFruit {25 public static voidmain(String[] args) {26 Fruit apple = newApple();27 Fruit orange = newOrang();28 Fruit banana = newBanana();29 apple.eat(4);30 orange.eat(5);31 banana.eat(6);32

33 }34

35 }

3、多重继承

一个类只能继承一个类,而接口可以实现多继承

1 public class A extends B implements C,D,E{}

4、接口中的域

放在接口中的任何域都自动是static和final的,同时也是public的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值