Java学习之多态
2016-01-21 17:17
459 查看
以下只是个人的浅薄理解,其实还是不太懂,只有以后懂了再更新。
知识点:
多态(动态绑定):除了static和final(含private)方法,其他方法都要进行动态绑定
优点:产生正确行为。编译器不知道对象方法,目的,只是后面引用的时候调用相应方法
可扩展性。所做更改不会对程序不受影响部分产生破坏。
缺陷:“覆盖”私有方法。不能达到重载目的,系统认为是2个不同方法,所以方法名可以不同。
域和静态方法。直接访问域在编译的时候解析,上转型可以直接获得基类变量,方法则返回导出类方法返回的变量值。
上转型:对某个对象的引用视其为基类的引用的做法。Shape shape = new Circle();
下转型:instanceof
忘记对象类型:只与基类打交道,不管导出类,通过上转型达到多态的目的。
构造器在多态中:构造器并不是多态?调用顺序:先是在基类构造器再层层下去,按声明顺序初始化,最后是导出类构造器。
构造器内部多态变化:在任何其他事物发生之前,将分配给对象的储存空间初始化二进制零重复上述步骤。
继承与组合设计原则:用继承表达行为间的差异,用字段表达状态的变化。导出类方法变化,组合变化状态。
总结:多态意味着不同状态。从基类继承的接口有不同展现形式,不同的动态绑定。运用继承和抽象创建理解多态。
知识点:
多态(动态绑定):除了static和final(含private)方法,其他方法都要进行动态绑定
优点:产生正确行为。编译器不知道对象方法,目的,只是后面引用的时候调用相应方法
可扩展性。所做更改不会对程序不受影响部分产生破坏。
缺陷:“覆盖”私有方法。不能达到重载目的,系统认为是2个不同方法,所以方法名可以不同。
域和静态方法。直接访问域在编译的时候解析,上转型可以直接获得基类变量,方法则返回导出类方法返回的变量值。
上转型:对某个对象的引用视其为基类的引用的做法。Shape shape = new Circle();
下转型:instanceof
忘记对象类型:只与基类打交道,不管导出类,通过上转型达到多态的目的。
构造器在多态中:构造器并不是多态?调用顺序:先是在基类构造器再层层下去,按声明顺序初始化,最后是导出类构造器。
构造器内部多态变化:在任何其他事物发生之前,将分配给对象的储存空间初始化二进制零重复上述步骤。
继承与组合设计原则:用继承表达行为间的差异,用字段表达状态的变化。导出类方法变化,组合变化状态。
总结:多态意味着不同状态。从基类继承的接口有不同展现形式,不同的动态绑定。运用继承和抽象创建理解多态。
相关文章推荐
- Java日志系统学习之log4j!
- 循环中定义的变量为局部变量,只能在循环语句中使用
- eclipse快捷键
- 细数JDK里的设计模式<转>
- 设置eclipse中resin的JVM参数
- maven 下载 源码和javadoc命令
- springmvc请求流程
- 10004---java并发编程--Executor框架
- JAVA学习【5】String数组输入,及nextLine()、nextInt()、next()区别
- BigDecimal不整除的一个异常java.lang.ArithmeticException
- java导出excel表
- 资料推荐--Google Java编码规范
- springMVC 学到新的知识点
- 面向对象高级特性===Java静态内部类、匿名内部类、成员式内部类和局部内部类
- java实现排序二叉树
- [Java视频笔记]day03
- Java简单算法——分解质因数
- 整合 spring 4(包括mvc、context、orm) + mybatis 3 示例
- java请求第三方接口
- JVM学习篇(3)之Java内存模型与线程