#4JAVA面向对象-多态#
2015-12-17 01:17
274 查看
学习目标:多态概念 重写重载 子父类转换
博主理解:方法的多态,重写重载,对象的多态性, 子父类的转换
需要注意的是重载重写都是执行子类执行父类的方法同样的方法,和子父类的转换,减少代码复用提高效率而设计的。
话题;
1.重载和重写的区别?
一张图就概括了一切相关的理论问题
2.重载 (在同一个类中)
满足: 方法名字相同,
类型参数.个数不同的方法定义要求;
目的: 实现方法的不同功能 注意: 和返回值毫无关系
重写 (继承关系中)
满足: 方法名字,类型参数,个数完全相同的要求
目的: [代码的复用,也就是多态的含义])
注意: 和返回值毫无关系>
有重写是由于继承而引用的,那么这自然就是为了设计的需要了。在实际的项目过程中,要经常运用到多态的特性(可参考设计模式),重写就必不可少了。
转型:转型并不是赋值而是类型彻底的改变
注意:先上后下 ,如果发生重写 父类执行的依然是子类的方法
如图:向上转型中 父类Text1.t2() 执行的子类重写方法
向下转型中 子类Text2.t2() 执行的是父类调用的方法
总结:多态概念是编程思想的重要部愤怒 重写,重载多为实用
博主理解:方法的多态,重写重载,对象的多态性, 子父类的转换
需要注意的是重载重写都是执行子类执行父类的方法同样的方法,和子父类的转换,减少代码复用提高效率而设计的。
话题;
1.重载和重写的区别?
一张图就概括了一切相关的理论问题
2.重载 (在同一个类中)
/*这就是基本的重载*/ public void tell(int i ){ } public void tell(String i ){ }
满足: 方法名字相同,
类型参数.个数不同的方法定义要求;
目的: 实现方法的不同功能 注意: 和返回值毫无关系
重写 (继承关系中)
class A{ public void tell(){ System.out.println("父类的方法"); } } class B extends A{ public void tell(){ super.tell();//1.super(超级代表的是父类的方法) System.out.println("子类重写的方法"); } }
满足: 方法名字,类型参数,个数完全相同的要求
目的: [代码的复用,也就是多态的含义])
注意: 和返回值毫无关系>
有重写是由于继承而引用的,那么这自然就是为了设计的需要了。在实际的项目过程中,要经常运用到多态的特性(可参考设计模式),重写就必不可少了。
转型:转型并不是赋值而是类型彻底的改变
向上转型:父类对象=子类实例, 向下转型:子类对象=(子类)父类实例
注意:先上后下 ,如果发生重写 父类执行的依然是子类的方法
如图:向上转型中 父类Text1.t2() 执行的子类重写方法
向下转型中 子类Text2.t2() 执行的是父类调用的方法
总结:多态概念是编程思想的重要部愤怒 重写,重载多为实用
相关文章推荐
- 集算器用作Java结构化文件计算类库
- Java各个类型变量边界
- 武林秘籍之Spring AOP 切面编程的简单应用
- ubuntu 安装jdk7小结
- java 注解
- 如何在myeclipse里预览JSP页面
- Java HeadFirst 系列 一
- 在Spring下集成ActiveMQ
- JDK动态代理实现原理
- java自带统计图
- java 获取文件夹下文件名字路径
- SpringMVC ------请求参数,请求头,cookie等注解。
- SpringMVC ------使用POJO对象绑定请求参数值
- SpringMVC ------处理模型数据
- SpringMVC ------ModelAttribute注解
- SpringMVC ------JstlView
- SpringMVC ------自定义视图
- spring MVC中ajax请求路径
- JAVA通过COM接口操作PPT
- SpringMVC ------ 重定向