20200724-Java-抽象类、接口

1、方法重写的规则
在子类继承父类时返回值类型、方法名、参数列表与父类相同,子类访问修饰符不得小于父类,抛出的异常不能严于父类、方法体不同

2、什么是多态
有继承、有重写、有父类引用指向子类对象
父类类型作为参数
父类类型作为返回值
子类对象引用父类方法

3、
向上转型:父类引用指向子类对象
父类类型 对象名 = new 子类类型()
这时不能使用子类特有的属性和方法

//在子类种进行了父类中toHospital()的方法重写pet.toHospital();会调用Dog类的toHospital,而不是Pet类的

总结:由一个父类的引用指向一个子类的对象称为向上转型此时通过父类引用变量调用的是子类覆盖或继承了父类的方法,不是父类的方法此时通过父类引用变量无法调用子类特有的方法(如Dog类种包含一个特有的接飞盘的方法catchingFlyDisc(),这个方法是子类特有的,pet就无法调用)

向下转型:对象与向下转型的类型相同
要用instanceof关键字判断类型
强制类型转换

主人可以为任何宠物看病,但只能和狗狗接飞盘,因此在断定宠物是狗狗之前不能和宠物玩飞盘,此时需要一个强制类型转换。Dog dog = (Dog)pet;dog.catchingflyDise();

4、接口
接口不可以被实例化
定义接口使用interface关键字、
实现接口使用implements关键字
接口可以多实现(一个类可以实现多个接口)用逗号分割接口不能被实例化
接口中的所有方法默认都是公共抽象方法接口的目的之一是订立一个标准

代码部分:

主类:

public class Computer implements CPU,EMS,HardDisk {String brind;String frquency;String capacity;String volum;public Computer() {}public Computer(String brind, String frquency, String capacity, String volum) {this.brind = brind;this.frquency = frquency;this.capacity = capacity;this.volum = volum;}@Overridepublic void brind() {System.out.println("品牌是:"+brind);}@Overridepublic void frequency() {System.out.println("频率是:"+frquency);}@Overridepublic void capacity() {System.out.println("硬盘容量是:"+capacity);}@Overridepublic void volum() {System.out.println("内存容量是:"+volum);}
}

三个接口:

public interface CPU {void brind();void frequency();}
public interface EMS {void capacity();}
public interface HardDisk {void volum();
}

测试类:

public class Test {public static void main(String[] args) {Computer computer = new Computer("Intel","3.8HZ","3000GB","4G");computer.brind();computer.frequency();computer.capacity();computer.volum();}
}

程序结果:

品牌是:Intel
频率是:3.8HZ
硬盘容量是:3000GB
内存容量是:4G

20200724-Java-抽象类、接口相关推荐

  1. JAVA抽象类接口初始化块实验_抽象类和接口 - 逝水无痕7777的个人空间 - OSCHINA - 中文开源技术交流社区...

    抽象类和接口 1.抽象类 抽象方法是只有方法签名,没有方法实现的方法.有抽象方法的类只能被定义成抽象类,抽象类可以没有抽象方法.抽象方法和抽象类必须使用abstract修饰符来定义. 抽象类不能被实例 ...

  2. java抽象类接口举例代码_Java接口和抽象类实例分析

    本文实例讲述了Java的接口和抽象类.分享给大家供大家参考.具体分析如下: 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相 ...

  3. Java抽象类+接口详细图解 一篇博客拿下

    目录 抽象类 抽象类的概念 抽象类的语法 抽象类的特性 抽象类的作用 接口 接口的概念 接口的语法 接口特性 实现多个接口 接口间的继承 接口实例 1.Compareable 2.Comparator ...

  4. Java抽象类/接口

    一.抽象类: 1.关键字:abstract ;修饰抽象类,抽象方法: 2.注释: 2.1.抽象类不可以创建对象,但是可以被声明引用(强制被使用多态): 2.2.抽象类不一定包含抽象方法,包含抽象方法一 ...

  5. Java接口和Java抽象类

    Java接口和Java抽象类有太多相似的地方,又有太多特别的地方,究竟在什么地方,才是它们的最佳位置呢?把它们比较一下,你就可以发现了. 1.Java接口和Java抽象类最大的一个区别,就在于Java ...

  6. java 抽象类继承抽象类_Java之继承、抽象类、接口篇

    一.继承(extends) 什么是继承? 继承是对现实生活中的"分类"概念的一种模拟. 狮子拥有动物的一切基本特性,但同时又拥有自己的独特的特性,这就是"继承" ...

  7. Java接口和Java抽象类的认识

    在没有好好地研习面向对象设计的设计模式之前,我对Java接口和Java抽象类的认识还是很模糊,很不可理解. 刚学Java语言时,就很难理解为什么要有接口这个概念,虽说是可以实现所谓的多继承,可一个只有 ...

  8. Java抽象类与接口的区别

    很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题.本文我们将仔细讨论这些话题. 在讨论它们之间的不同点之前,我们先看看抽象类.接口各自的特性. ...

  9. IEnumeratorTItem和IEnumerator Java 抽象类和普通类、接口的区别——看完你就顿悟了...

    IEnumerable 其原型至少可以说有15年历史,或者更长,它是通过 IEnumerator 来定义的,而后者中使用装箱的 object 方式来定义,也就是弱类型的.弱类型不但会有性能问题,最主要 ...

  10. java 抽象接口类,Java接口(interface)和Java抽象类(abstract class)的区别(详诉版)

    1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架, 当代表业务逻辑的高层抽象层结构合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...

最新文章

  1. vim block vim_如何不再害怕Vim
  2. python的变量对大小写并不敏感_Robot Framework 内置变量
  3. python dump函数_python 处理 json 四个函数dumps、loads、dump、load的区别
  4. DynamicArray
  5. python代码测试工具模块_详解Python中的测试工具
  6. Android eMMC 分区详解(转载)
  7. Java9个异常处理的最佳实践
  8. 【332】Machine Learning
  9. 不同程序语言的注释和变量要求
  10. 批处理 如果提示错误暂停_dos批处理脚本代码,一键删除目录文件夹例子,dos命令bat教程...
  11. axios拦截器_Axios源码解析 —— 一个小而美的HttpClient
  12. VC-MFC程序设计精讲
  13. 豆丁网word文档下载方法集锦
  14. 大数据平台架构有哪些
  15. 基于JAVA春运出行铁路路线规划推荐系统计算机毕业设计源码+系统+lw文档+部署
  16. matlab怎么做跳动的桃心曲线,用matlab画跳动的爱心
  17. Unity如何调整天空盒子
  18. 四象限工作法:四象限时间管理法则及四象限工作法软件
  19. 技术人要有一些兴趣爱好
  20. win10 计算机管理器没有ime,win10系统右下角显示IMe被禁用的解决方法

热门文章

  1. Windows常用命令(一)
  2. 递归解九连环并且打印中间过程
  3. 神舟gx8cp5s1uefi安装win10和ubuntu18.04双系统记录
  4. 【面试题】1383- 面试官问:Vue3 对比 Vue2 有哪些变化?
  5. [51nod13831048]整数分解为2的幂
  6. java直接从数据库读取文件写入FTP服务器
  7. 浅谈 Android 的安全启动和完整性保护
  8. 荣耀v10图片是html格式,荣耀V10真机上手图赏 参数配置分析详解
  9. 数值优化理论的数学基础
  10. 图像置乱之评价图像置乱度算法的选择