Java学习:抽象类与接口
抽象类
抽象类特点:
A:抽象类和抽象方法必须用abstract关键字修饰
B:抽象类不一定有抽象方法,有抽象方法的类一定是抽象类
C:抽象类不能实例化
那么,如果实例化并使用呢?
按照多态的方式,由具体的子类实例化。其实这也是多态的一种,抽象类多态。
D:抽象类的子类
要么是抽象类
要么重写抽象类中的所有抽象方法
抽象类的作用:
强制要求子类必须要重写某些方法。
接口
认识接口:
不是我们现实生活中的usb接口等等实物的接口,类实现接口代表着这个类自身功能的一种扩展,所以接口代表着一种扩展的能力
接口的特点:
A:定义接口要用关键字interface表示
格式:interface 接口名 {}
B:类实现接口用implements表示
格式:class 类名 implements 接口名 {}
C:接口不能实例化
那么,接口如何实例化呢?
按照多态的方式,由具体的子类实例化。其实这也是多态的一种,接口多态。
D:接口的实现类
要么是抽象类
要么重写接口中的所有抽象方法
接口的成员特点:
A:成员变量
只能是常量。
默认修饰符:public static final
B:构造方法
没有构造方法
C:成员方法
只能是抽象方法。
默认修饰符:public abstract
接口和抽象类的关系最后分析:
抽象类和接口的区别
A:成员区别
抽象类:
成员变量:可以是变量,也可以是常量
构造方法:有构造方法
成员方法:可以是抽象方法,也可以是非抽象方法
接口:
成员变量:只能是常量。默认修饰符 public static final
成员方法:只能是抽象方法。默认修饰符 public abstract
B:关系区别
类与类:
继承关系。只能单继承,可以多层(重)继承。
类与接口:
实现关系。可以单实现,也可以多实现。
还可以在继承一个类的同时实现多个接口。
接口与接口:
继承关系。可以单继承,也可以多继承。
C:设计理念区别
抽象类被继承体现的是:"is a"的关系。抽象类定义的是共性功能。
接口被实现体现的是:"like a"的关系。接口定义的是扩展功能。
转载于:https://www.cnblogs.com/shaofanglazi/p/6705122.html
Java学习:抽象类与接口相关推荐
- java学习--抽象类与接口
一.抽象 在使用抽象类时需要注意几点: 1.抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可. 2.抽象方法必须由子类来进行重写. 3.只要包含一个抽象方法的抽象类,该方 ...
- 初学Java基础学习——抽象类和接口的区别
初学Java基础学习--抽象类和接口的区别 一.关键字 1)抽象类的关键字 abstract class A{//定义一个抽象类: } class Test extends A{//子类使用exten ...
- Java基础学习第十二讲:Java面向对象---抽象类和接口
Java面向对象-抽象类和接口 一.抽象类 抽象的定义: 我们在日常生活中,经常通过总结一些事物的共性来对事物进行分类,这种共性可能是一些相同的属性,也可能是一些相同的动作.通过总结,我们能够清晰的划 ...
- Java学习之路——接口
Java学习之路--接口 概述 总所周知,我们是父母的孩子.我们的身上既继承了爸爸的基因也继承了妈妈的基因.这就是多继承. 然而在 Java 程序中,是不支持多继承的.Java 仅仅支持单继承.但是接 ...
- Java中抽象类和接口在概念、语法和应用上的区别和关系
2019独角兽企业重金招聘Python工程师标准>>> 春招开始了,盆友们都忙着准备笔试.准备面试,复习学过的知识点,当然我也不例外,在这里祝每一个"有心人"心想 ...
- 关于Java中抽象类和接口的一点思索
Java中抽象类和接口的一点思索 成员方法上的区别: 1. java中的抽象类可以提供成员方法的实现细节,抽象方法只能是被public和protected来修饰 配合abstract关键字,子类需要实 ...
- Java学习十之接口和抽象类
接口和抽象类 一.抽象类 1.1什么是抽象类? 抽象类是一种特殊的类 被abstract关键字修饰的类就是抽象类 修饰符 abstract class 类别{ 类体 } 在Java中,有些类不适合创建 ...
- java学习(七)java中抽象类及 接口
抽象类的特点: A:抽象类和抽象方法必须用abstract关键字修饰. B:抽象类中不一定有抽象方法,但是抽象方法的类必须定义为抽象类 c: 抽象类不能被实例化,因为它不是具体的. 抽象类有构造方法, ...
- 关于Java的抽象类与接口
当初学Java基础的时候很low,上课没怎么听,网课也没有一直坚持看到有关接口跟抽象类的视频,看到类与对象这一部分的视频就放弃了.太后悔了,现在对Java编程的兴趣来了,看完了狂神Javawe与Spr ...
- Java总结 - 抽象类与接口
本文是自己对抽象类和接口的理解,如果不对请指正,谢谢 抽象类的简介 抽象?抽象是什么意思?之前在我的 封装继承多态 一文中提到了一个杯子的概念,简单概括一下就是嘴说出来的是一个抽象的概念,因为并不知道 ...
最新文章
- linux程序接口实验,Linux程序接口实验:取进程标志及用户信息
- pip install pygame_使用 Python 和 Pygame 模块构建一个游戏框架!
- php中round函数能给整数用吗,PHP四舍五入、取整、round函数使用
- 本月 Windows Mobile 文章推荐
- 2.9 go mod 之本地仓库搭建
- RabbitMQ 基本概念与高级特性
- 《像程序员一样思考》
- iQOO手机正式发布,全新性能旗舰打造爆燃体验
- 每天Leetcode 刷题 初级算法篇-杨辉三角
- 网优5g前景_网优行业的吐槽,附吐槽记录
- Codeforces Beta Round #80 (Div. 1 Only) D. Time to Raid Cowavans 分块
- VC利用GDI+显示透明的PNG图片
- 2021-09-07LRUCache机制
- 【线性代数笔记】秩为1的矩阵的性质
- ddr3配置 dsp6678_DSP6678DDR配制方法
- 音频amr格式怎么转成mp3-几个步骤轻松搞定
- 2011年分形艺术国际大赛比赛规则
- Intel SGX背景、其他可信计算技术和TEE技术(翻译自Intel SGX Explained)
- 林信良(良葛格)在CSDN上也开专栏了~
- C#中调用OCX控件
热门文章
- python pymysql模块 链接mysql 遍历查询结果的方法 详解
- centos6+ 将程序 注册到 service进行启动 停止 重启等:以nginx为例,添加nginx脚本
- 软件_git异常错误[博]
- 下列有关计算机系统叙述正确,()下列有关计算机系统软件的叙述正确的是____
- 数据/方法论固然重要,但人为分析更有价值!
- Ant命令编译flex时碰到的问题:[mxmlc] java.lang.OutOfMemoryError: Java heap space
- 计算机病毒解析与防范结束语,2016年04月30日计算机病毒解析与防范题纲_向必青.doc...
- 台式linux桌面远程链接华为云windows服务器桌面
- linux管理包安装软件命令,和vi/vim使用方法
- python os库