源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Java基础教程之接口的继承与抽象类

  • 时间:2020-07-14 09:32 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Java基础教程之接口的继承与抽象类
在实施接口中,我们利用interface语法,将interface从类定义中独立出来,构成一个主体。interface为类提供了接口规范。 在继承中,我们为了提高程序的可复用性,引入的继承机制。当时的继承是基于类的。interface接口同样可以继承,以拓展原interface。 [b]接口继承[/b] 接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,增添新增的接口方法原型。比如,我们以Cup作为原interface:
[url=http://www.1sucai.cn/article/54550.htm]实施接口[/url]) [b]抽象类[/b] 在生活中,我们会有一些很抽象的概念。这些抽象的概念往往是许多类的集合,比如: 1.粮食 (可以是玉米、小麦、大米) 2.图形 (可以是三角形、圆形、正方形) 再比如,我们之前举出了例子: 1.人类 (可以是男人、女人) 在组织这样的关系时,我们可以使用继承,比如: [img]http://files.jb51.net/file_images/article/201409/201491103810008.jpg?201481103830[/img] 根据我们的常识: 1."Food类的对象"的说法是抽象的。这样一个对象应该是属于Corn, Rice, Wheat子类中的一个。 2.Food类有eat()方法 (食物可以吃)。然而,这样的一个动作是抽象的。粮食的具体吃法是不同的。比如Corn需要剥皮吃,Wheat要磨成面粉吃。我们需要在每个类中覆盖Food类的eat()方法。 [img]http://files.jb51.net/file_images/article/201409/201491103847440.jpg?201481103858[/img] 抽象与具体 Java中提供了抽象类(abstract class)的语法,用于说明类及其方法的抽象性。比如:
[u]复制代码[/u] 代码如下:
abstract class Food {     public abstract void eat();     public void happyFood();     {         System.out.println("Good! Eat Me!");     } }
类中的方法可以声明为abstract,比如上面的eat()。这时,我们不需要具体定义方法,只需要提供该方法的原型。这与接口类似。当我们在比如Corn类中继承该类时,需要提供eat()方法的具体定义。 类中的另一个方法happyFood()并不是 当一个类中出现abstract方法时,这个类的声明必须加上abstract关键字,否则Java将报错。一个abstract类不能用于创建对象。 [b]抽象类的继承[/b] 我们可以像继承类那样继承一个抽象类。我们必须用完整的方法定义,来覆盖抽象类中的抽象方法,否则,衍生类依然是一个抽象类。 抽象类的定义中可以有数据成员。数据成员的继承与正常类的继承相同。 [b]总结[/b] interface继承,多重继承 abstract method, abstract类
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部