javase-Study03-04(陈曙光)
来源:互联网 发布:js 上传图片控件流处理 编辑:程序博客网 时间:2024/04/29 19:00
封装、继承、多态(java语言的三大特点)
1、封装
该隐藏隐藏,该公开的公开
属性隐藏,同时提供get/set方法
有些方法应该隐藏
方法声明公开,实现隐藏。实现的改变对架构的影响最小
2、继承
一般->特殊
单继承:一个类最多只能有一个直接父类。类之间可以形成树状关系
根据访问权限,子类如果可以访问父类的属性和方法,就能继承
private 私有 不能继承
default 本类+同包 同包子类可以继承,不同包子类不能继承
protected 本类+同包+不同包子类 可以继承
public 公开 可以继承
方法的覆盖(Override):
方法名相同,参数表相同,返回值相同,访问修饰符比父类相同或更宽,抛出的异常不能比父类更宽
继承关系下对象的构造过程
1)递归的构造父类对象
2)分配本类空间
3)初始化本类属性
4)调用本类的构造方法
super:
super. ->父类对象,访问父类被覆盖的方法或者父类被遮盖的属性
super() ->用在构造方法时,用来指明调用父类的哪个构造方法,放在构造方法的第一行,默认调用父类无参构造方法
3、多态
编译时多态:方法的重载
运行时多态:
子类对象当作父类对象来用!!!屏蔽同一父类下,不同子类差异
//Animal为父类、Dog为子类
Animal a = new Dog();
允许引用类型和对象类型不同,但要求引用类型是对象类型的父类。
对象类型代表了对象自身客观的实际类型,引用类型代表了主观上把对象当作什么类型来看待。
引用类型:编译时类型,主观类型
对象类型:运行时类型,客观类型
1)对象运行时类型不变
2)只能对对象调用其编译时类型定义的方法
3)运行时根据对象类型去匹配对象类型中覆盖之后的方法
强制类型转换:当我们把父类的引用赋值给子类引用的时候,需要强制类型转换。强制类型转换失败:类型转换异常.
为了避免类型转换异常,使用instanceof判断
引用 instanceof 类名 引用指向的对象的类型与后面的类名是否兼容
多态的作用:通用编程、我们可以把不同子类的对象都当作父类对象看待,评比不同子类的差异。
- javase-Study03-04(陈曙光)
- javase-Study01(陈曙光)
- javase-Study02(陈曙光)
- 高曙光
- 曙光初现
- JAVASE----04----继承
- JavaSE 04 数组
- JavaSE基础04
- javaSE
- javaSE
- javaSE
- JavaSE
- javase
- javase
- javaSE
- JAVASE
- JavaSE
- Javase
- templateEngine2 asp.net 开源模板引擎
- pendingItent和 Ient
- jsp中404错误的拦截
- javascript 实用技巧集锦
- Android中Context简介
- javase-Study03-04(陈曙光)
- NGINX常用负载均衡设置
- 动态广告布局
- 如何成为一个优秀的JSP程序员
- admob广告布局
- 字符串化调试宏
- remote和local servi的区别
- android(基础篇)——android view的几种布局
- MyEclipse获取注册码,源代码