潍坊美丽乡村建设如何找到合适的网站平台并了解其后台管理?
摘要:潍坊美丽乡村建设一般发了哪个网站,如何做网站的后台,手机上自己设计房子软件,重庆的网站设计公司Java阶段一Day10 文章目录Java阶段一Day10抽象类和抽象方法接口案例小练习引用类型数组教师总结回顾:精
潍坊美丽乡村建设一般发了哪个网站,如何做网站的后台,手机上自己设计房子软件,重庆的网站设计公司Java阶段一Day10 文章目录Java阶段一Day10抽象类和抽象方法接口案例小练习引用类型数组教师总结回顾#xff1a;精华笔记#xff1a;笔记#xff1a;补充#xff1a;抽象类和抽象方法
关键字#xff1a;abstract 只有方法的定义#xff0c;没有具体的实现#xff08;连…Java阶段一Day10 文章目录Java阶段一Day10抽象类和抽象方法接口案例小练习引用类型数组教师总结回顾精华笔记笔记补充抽象类和抽象方法
关键字abstract 只有方法的定义没有具体的实现连 { } 都没有 包含抽象方法的类必须是抽象类也是由 abstract 修饰 抽象类不能被实例化即不能被new是不会单独存在即一定会有子类 抽象类是需要被继承的派生类有两种处理方法1也声明为抽象类、2重写抽象方法常见方法 只要是个数据类型就能声明变量就一定能造数组 抽象类的意义
封装共有的属性和行为实现代码复用可以包含抽象方法为所有派生类统一入口(名字统一)强制必须重写。
设计规则适合初学者 找对象抽类将所有派生类所共有的属性和行为抽到超类中抽共性 若派生类的行为/代码都一样设计为普通方法 若派生类的行为/代码不一样设计为抽象方法 将部分派生类所共有的行为抽到接口中
为什么要有抽象方法做出一个规定一个强制。为了统一 实际开发中一个项目一定是团队协作的以动物案例为例假设在Animal中不设计eat()方法: 张三写Dog类-------------eatSomethink()、李四写Chick类------------eating()、王五写Fish类----------haveSomethink() 赵六想让动物吃他在调用吃方法的时候就傻眼了他得知道每个类中的吃的具体的名字,调用起来相当麻烦因为不统一 在Animal类中设计一个抽象方法eat()表示动物的吃 张三写Dog类-------------eat()、李四写Chick类------------eat()、王五写Fish类--------------eat() 赵六想让动物吃只需知道Animal中吃的具体名字eat,调用起来就简单了因为统一 接口
关键字 interface、implements
接口是引用类型和类是一种平级关系由interface定义 三种引用类型数组、类、接口
接口里面只能包含抽象方法 (常量、默认方法、静态方法、私有方法)
接口也是不完整的不能被实例化是需要被实现 (implements)实现类重写接口中的所有抽象方法且重写的接口必须是 public的
一个类可以实现多个接口。若又继承又实现时应先继承后实现。接口可以继承接口
类间关系同类型是继承关系不同类型是实现关系
接口小结
接口是对继承单根性的扩展 ———— 实现多继承表述对象具备哪些功能短小精悍接口常常充当标准、规范若实现了某接口说明具备某功能若不实现某接口则不具备某功能 如Serializable
案例小练习 需求: 教研总监;名字、年龄、工资、上班打卡()、下班打卡()、完成工作()、 解决企业问题、培训员工()、编辑书籍() 讲师:名字、年龄、工资、上班打卡()、下班打卡()、完成工作()、 解决企业问题()、培训员工()、编辑书籍() 项目经理:名字、年龄、工资、上班打卡()、下班打卡()、完成工作()、 编辑书籍() 班主任:名字、年龄、工资、上班打卡()、下班打卡()、完成工作( /*
超类 雇员类 名字、年龄、工资 上班打卡、下班打卡、完成工作抽象方法派生类 教研总监类 继承超类、重写抽象方法第一、二个接口讲师类 继承超类、重写抽象方法第一、二个接口项目经理类 继承超类、重写抽象方法第二个接口班主任 继承超类、重写抽象方法接口 解决企业问题、培训员工接口编辑书籍接口
*/抽象类和接口的区别是什么
共同点
都不能被实例化。都可以包含抽象方法。都可以有默认实现的方法Java 8 可以用 default 关键字在接口中定义默认方法。
区别
接口主要用于对类的行为进行约束实现了某接口就具有对应的行为。抽象类主要用于代码复用强调的是所属关系。一个类只能继承一个类但是可以实现多个接口。接口中的成员变量只能是 public static final 类型的不能被修改且必须有初始值而抽象类的成员变量默认 default可在子类中被重新定义也可被重新赋值。
