继承与多态
来源:互联网 发布:自学英语教材推荐知乎 编辑:程序博客网 时间:2024/06/14 17:44
继承与多态
- 继承与多态
- 继承
- 继承概述
- Java中继承的特点
- 方法重写
- final关键字
- 多态
- 多态概述
- 多态的分类
- 抽象类 abstract
- 接口 interfaceimplement
- 继承
继承
1. 继承概述
多个类中存在相同属性和行为时,
将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
通过extends关键字可以实现类与类的继承。
class 子类名 extends 父类名 {}
2. Java中继承的特点
- Java只支持单继承,不支持多继承。
class SubDemo extends Demo{} //okclass SubDemo extends Demo1,Demo2...//error
- Java支持多层继承(继承体系)
class A{}class B extends A{}class C extends B{}
3. 方法重写
- 概念
子类中出现了和父类中一模一样的方法声明。 - 使用特点:
如果方法名不同,就调用对应的方法
如果方法名相同,最终使用的是子类自己的 - 注意事项
- 父类中私有方法不能被重写
- 子类重写父类方法时,访问权限不能更低
- 父类静态方法,子类也必须通过静态方法进行重写。
- 方法重写和方法重载的区别 ? 方法重载能改变返回值类型吗? Overload 与 Override
方法重写:
在子类中,出现和父类中一模一样的方法声明的现象。
方法重载:
同一个类中,出现的方法名相同,参数列表不同的现象。
方法重载能改变返回值类型,因为它和返回值类型无关。
4. final关键字
- 修饰类,类不能被继承
- 修饰变量,变量就变成了常量,只能被赋值一次
- 修饰方法,方法不能被重写
多态
1. 多态概述
某一个事物,在不同时刻表现出来的不同状态。
同时猫也是动物的一种,也可以把猫称为动物。
动物 d = new 猫();
2. 多态的分类:
- a:具体类多态
class Fu {}class Zi extends Fu {}Fu f = new Zi();
- b:抽象类多态
abstract class Fu {}class Zi extends Fu {}Fu f = new Zi();
- c:接口多态
interface Fu {}class Zi implements Fu {}Fu f = new Zi();
3. 抽象类 abstract
抽象类和抽象方法必须用abstract关键字修饰
abstract class 类名 {}public abstract void eat();
抽象类的几个小问题
- A:抽象类有构造方法,不能实例化,那么构造方法有什么用?
用于子类访问父类数据的初始化
- B:一个类如果没有抽象方法,却定义为了抽象类,有什么用?
为了不让创建对象
- C:abstract不能和哪些关键字共存
- final 冲突
- private 冲突
- static 无意义
3. 接口 interface(implement)
- 接口的特点:
A:接口用关键字interface修饰
interface 接口名 {}
B:类实现接口用implements修饰
class 类名 implements 接口名 {}
C:接口不能实例化
D:接口的实现类
a:是一个抽象类。 b:是一个具体类,这个类必须重写接口中的所有抽象方法。
- 接口的成员特点:
A:成员变量 只能是常量 默认修饰符:public static finalB:构造方法 没有构造方法C:成员方法 只能是抽象的 默认修饰符:public abstract
0 0
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 继承与多态
- 多态与继承
- 继承与多态
- qt5 plugin
- tableView编辑样式设计
- Vue2.0 新手入门 — 从环境搭建到发布
- 如何解决web浏览器跨域问题——利用反向代理nginx/apache/nodejs
- Java帝国之拨云见日识回调
- 继承与多态
- WebService服务发布与使用
- 2017 Hadoop技术峰会正式启动,这个可以约!
- 基本CSS样式(三)
- 程序员证明自己智商的时候到了,一大波智力面试题正在靠近
- Why does my Authorize Attribute not work-
- 迭代器
- cmd命令提示符大全
- C# winform 捕获全局异常