小汤学编程之JAVA基础day08——面向对象(三):抽象类与接口
一、抽象类
1.抽象类的由来 2.几点注意 3.语法规则
二、接口
1.定义方式 2.属性和方法
三、总结
一、抽象类
1.抽象类的由来
“用进废退”,多态的领域下,重写的方法被子类覆盖,不可能被调用到,索性去掉方法体,声明为抽象方法。
2.几点注意
- 抽象方法没有方法体
- 含有抽象方法的类必须是抽象类,但抽象类里可以暂时没有抽象方法
- 抽象类的子类有两种选择:1.完全实现父类的抽象方法 2.自己也声明为抽象类
3.语法规则
- 抽象类有构造方法,但不能被显示调用(隐式可以),也就不能实例化,也就没有对象。
- 抽象类的使用一般是作为引用类型,指向非抽象的引用的实例,体现出多态。
- 构造方法和静态方法都不能用(abstract)抽象修饰。
二、接口
1.定义方式
public interface 接口名{ }
接口类和定义类的区别在于,将class关键字换成了interface。
2.属性和方法
- 所有的成员属性都是 public static final (公共静态常量)类型
- 所有的方法都是 public abstract (公共抽象方法)
接口中只有抽象方法,没有构造方法和静态方法
三、总结
抽象度:接口>抽象类>类>对象
小汤学编程之JAVA基础day08——面向对象(三):抽象类与接口相关推荐
- 小汤学编程之JAVA基础day07——面向对象(二):封装、继承与多态
一.封装 1.使用步骤 2.优点 3.包结构 4.访问修饰符 二.继承 1.理解 2.重写 3.final的详解 4.防止被继承的两种方法 三.多态 ...
- 小汤学编程之JAVA基础day06——面向对象(一):类与对象
一.类 1.类的属性 2.类的方法 3.类的分类 4.类的创建 5.扩展:成员变量和局部变量 二.对象 1.对象的创建 2.对象的使用 一.类 类就是一类事 ...
- 小汤学编程之JAVA基础day12——异常
一.什么是异常 1.程序错误类型 2.异常的分类 3.深入认识异常 二.异常的继承结构 三.常见的异常收集 四.虚拟机对异常的两种处理方式 1.捕获异常 2.声明和抛出异常 五 ...
- 小汤学编程之JAVA基础day05——数组
一.概念 1.什么是数组 2.为什么要用到数组 二.使用方法 1.声明并分配空间 2.赋值 3.处理数据 三.数组的各种应用 1.求数组中最大/最小值 2.数组反 ...
- 小汤学编程之JAVA基础day04——流程结构
一.认识流程图 二.顺序结构 三.选择结构 四.循环结构 五.扩展&代码块的概念 一.认识流程图 二.顺序结构 体现在程序进入某个方法后,从上到下没有分支的顺序执行. 三.选择结构 1.if选 ...
- 小汤学编程之JAVA基础day02——数据类型、Scanner类的使用
一.JAVA的数据类型 1.变量 2.常量 3.基本数据类型 4.引用数据类型 5.数据类型转换 二.Scanner类的使用 1.作用 2.引入 3 ...
- 小汤学编程之JAVA基础day15——枚举、注解和Properties
一.枚举 1.枚举的来由 2.枚举的作用 3.枚举的特点 4.扩展:switch里可以传入哪些类型的值 二.注解 1.作用 2.注解的种类 3.自定义注解 ...
- 小汤学编程之JAVA基础day14——xml和反射
一.xml 1.简介 2.特点 3.使用步骤 二.Reflect反射 1.概念 2.理解Class类 3.反射的功能 4.两个案例 一.xml 1.简介 xml ...
- 小汤学编程之JAVA基础day11——集合框架:List/Set/Map集合、Collections集合工具类、泛型、TreeMap和TreeSet
一.集合的特点 二.继承结构图 三.List集合 1.特点 2.ArrayList类 3.LinkedList类 4.两者的对比 5.集合的遍历 四.Set集合 1.特 ...
最新文章
- 伟大公司为什么都考核价值观?
- linux c语言显示器api,API级别的Unicode GUI用于Windows / Linux / Mac的C语言本机应用程序...
- go/golang init()方法的调用
- 解决 C3P0 中文乱码问题
- java 百亿计算器_设计一个一百亿的计算器
- elementui 搭建布局页面路由_【项目实践】使用Vue.js和ElementUI快速实现后台管理系统的界面布局...
- redis 存储数据不设置过期时间 会自动过期吗_Redis-数据淘汰策略持久化方式(RDB/AOF)Redis与Memcached区别...
- linux主机查看CPU核数和主机型号
- 最强白嫖指南---推荐11个珍藏多年的网站!
- HEVC代码学习0:HM使用+码流分析教程
- BGP 路径属性 (Path attribute)
- 百度提升关键词排名优化软件,百度点击器,百度排名软件,百度竞价助手
- Spring注解汇总
- 华为的“少年天才”攀登者,出发向智能存储的“奥林帕斯山”
- 数胎动可辨别宝宝是不是缺氧
- MySql定期备份数据到历史表的解决方案
- 谷歌Chrome浏览器的翻译按钮不见了
- 高分屏笔记本显示模糊解决方法
- 利用labelme生成Mask
- 27计算机表演赛命题,(历史2)27届计算机表演赛命题搜索赛答案