初识java类的接口实现

  • 如果两个类之间不存在继承关系,且两个类都想实现同一个接口,两个类都必须实现接口中全部方法,否则报语法错误
  • 如果两个类之间存在继承关系也想实现同一个接口,父类如果实现了某个接口的全部方法,从语法角度看,子类可以不去实现该接口的方法,但从功能多样化角度看,子类需要实现接口中全部或部分方法来实现子类本身的功能,且子类实现该接口的方法看作对父类实现接口方法的重写
//Book类和EBook类都想实现Method接口完成价格操作
interface Method {public abstract int getPrice();public abstract void setPrice(int p);
}
class Book implements Method {private int price;public int getPrice() {return this.price;}
}
class EBook implements Method {private int price;public int getPrice() {return this.price;}public void setPrice(int p) {p = this.price;}
}

报错:
The type Book must implement the inherited abstract method Method.setPrice(int)
就是Book类必须实现Method接口的setPrice(int)方法,即两个类都要实现Method所有抽象方法

//通过实现Method接口实现Rectangle类和Square类的面积计算
interface Method {public abstract int calArea();
}
class Rectangle implements Method {private int length;private int width;public  Rectangle(int l, int w) {this.length = l;this.width = w;}public Rectangle() {this(0,0);}public int calArea() {System.out.println("Rectangle");return length*width;    }
}
class Square extends Rectangle {private int edge;public Square(int e) {this.edge = e;}public int  calArea() {return this.edge*this.edge;}
}

其中子类正方形类中的calArea()方法可以不实现,因为在父类中已经实现了calArea()方法,从语法角度看,不实现calArea()方法没有错误,但从实现功能看,子类要实现calArea()方法实现因为正方形类有自己的计算面积公式即s=e*e;(与父类不同的计算方式)


以上就是初识java类的接口实现的全部内容了,更多内容请关注:CPP学习网_CPP大学
本文固定链接:CPP学习网_CPP大学-初识java类的接口实现

转载于:https://www.cnblogs.com/cppys/p/6640483.html

初识java类的接口实现相关推荐

  1. java类与接口练习

    java类与接口练习--coursera java 课程作业 1.注意代码应该使用题目中所要求的语法要素: 2.注意良好的代码风格: 3.注意提交整个project,上传压缩后的附件,互评时可被成功执 ...

  2. java类和接口实例_Java定义泛型接口和类的方法实例分析

    本文实例讲述了Java定义泛型接口和类的方法.分享给大家供大家参考,具体如下: 一 点睛 所谓泛型:就是允许在定义类.接口指定类型形参,这个类型形参在将在声明变量.创建对象时确定(即传入实际的类型参数 ...

  3. 先收藏!关于Java类、接口、枚举的知识点大汇总

    摘要:Java知识点精选之类.接口.枚举30问,算是比较基础的,希望大家一起学习进步. 整理了一些JAVA语言的在类.接口.枚举等方面的知识点以及大家常遇到的问题.希望能帮助到大家. Q: 各修饰符所 ...

  4. java类和接口的区别

    1,2者类型不同,类 class public class Canteen 接口 interface public interface People 2,java类只能单继承[继承具有传递性] 接口可 ...

  5. java类引用接口的注释_java – 在接口类型上使用注释有什么好处?

    在这个 example中,注释类型(@interface)下面: @interface ClassPreamble { String author(); String date(); int curr ...

  6. java 类 抽象类 接口_Java抽象类和接口

    抽象类和接口 一.抽象类和抽象方法 对于抽象类,首先需要介绍抽象方法,而抽象类因抽象方法的存在而存在 1.抽象方法 (1)必要性: 有些父类方法不确定如何写方法体,但是对于继承它的子类又必须用到这个方 ...

  7. 【04】Effective Java - 类和接口

    为什么80%的码农都做不了架构师?>>>    1.使类和成员的可访问性最小化 封装是软件设计的基本原则之一,它的好处就是解除组成系统的各个模块之间的耦合关系,使得这些模块可以独立地 ...

  8. java类与接口思维导图_详解java接口基础知识附思维导图

    接口: 官方的含义是---->java接口是一系列方法的声明,是一些方法特征的集合 疑问: 那为什么不用抽象类呢?把他们共有的方法集合起来放在一个抽象类里面,同样可以调用哇,但是反过来想一想如果 ...

  9. Effective Java 类和接口 第17条:要么为继承而设计,并提供文档说明,要么就禁止继承

    第16条提醒我们,对于不是为了继承而设计,并且没有文档说明的"外来"类进行子类化是多么危险.那么对于专门为了继承而设计并具有良好文档说明的类而言,这有意味着什么呢? 该类的文档必须 ...

最新文章

  1. 2017(秋)软工作业: (2)硬币游戏—— 代码分析与改进
  2. Python join sorted sort map reduce 函数解析
  3. mysql centos 源码安装_CentOS5下MySQL源码安装方式
  4. linux 创建组,创建用户
  5. php curl获取登陆cookie,PHP curl 模拟登陆 获取cookie
  6. 微信小程序开发:禁止输入表情的控制,验证方法,光标控制
  7. 安卓nfs网络文件服务器,Linux网络文件服务器 NFS
  8. 企业CIO都要知道的数据中台建设五步法,用友大神十二讲就搞定
  9. C++11 std::function类模板
  10. xmind各版本区别_XMind各版本功能对比1.PDF
  11. LINUX查询版本情况
  12. JDK、STS、SVN、Tomcat 、mysql的下载安装及环境变量的配置和sts修改字体大小
  13. (附源码)php希尔顿酒店管理系统 毕业设计 041148
  14. 服务器远程关机软件,实现远程关机需要哪些步骤?向日葵怎么实现远程关机控制?...
  15. 磁珠 符号_电子元件磁珠该如何使用呢?
  16. 【深度学习实验报告】实验 1:PyTorch 使用简介
  17. Linux动态频率调节系统CPUFreq之一:概述
  18. 欧盟《一般数据保护条例》(GDPR)你需要知道的
  19. 图文并茂使用VUE+Quasar CLI开发和构建PWA
  20. js实现禁止网页缩放(Ctrl+鼠标、+、-缩放有效亲测)

热门文章

  1. mysql挂科了咋办_大一挂科很难受怎么办?
  2. 周怎么换算成月_您每天需要多少能量,怎么知道自己摄入多少能量
  3. 苹果硬盘容量启动linux,你的MAC OS之旅
  4. Android怎么隐藏前端,Android-Webview支持缩放并掩藏讨厌的缩放控制条
  5. 显微镜下的大明内容_《显微镜下的大明》epub、mobi、azw3
  6. mysql 最小日期函数_MySQL 日期加减函数汇总
  7. arnold如何设置鱼眼相机_华为相机实用技巧——如何调整相机设置?(2)
  8. python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)
  9. php 面试mysql,mysql中优化必读
  10. 帝豪gs车机系统wince_吉利新款帝豪GS,内饰升级大双屏,还不涨价,7万多就能买...