构造器内部的多态方法
来源:互联网 发布:.club域名与.com 编辑:程序博客网 时间:2024/06/02 03:59
设计构造器的规则:
用尽可能简单的方法使对象进入就绪状态;如果可能,避免调用任何方法。
例子
abstract class Glyph { abstract void draw(); Glyph() { System.out.println("Glyph() before draw()"); draw(); System.out.println("Glyph() after draw()"); }}class RoundGlyph extends Glyph { int radius = 1; RoundGlyph(int r) { radius = r; System.out.println("RoundGlyph.RoundGlyph(), radius = " + radius); } void draw() { System.out.println("RoundGlyph.draw(), radius = " + radius); }}public class PolyConstructors { public static void main(String[] args) { new RoundGlyph(5); }}
输出:
Glyph() before draw()
RoundGlyph.draw(), radius = 0
Glyph() after draw()
RoundGlyph.RoundGlyph(), radius = 5
分析:
初始化的实际过程
- 在采取其他任何操作之前,为对象分配的存储空间初始化成二进制零。
- 就象前面叙述的那样,调用基础类构建器。此时,被覆盖的draw()方法会得到调用(的确是在RoundGlyph 构建器调用之前),此时会发现radius 的值为0,这是由于步骤1造成的。
- 按照原先声明的顺序调用成员初始化代码。
- 调用衍生类构建器的主体。
0 0
- 构造器内部的多态方法!!
- 构造器内部的多态方法
- JAVA构造器内部的多态方法的行为
- 构造器内部的多态方法的行为
- 构造器内部的多态方法的行为
- Java构造器内部的多态方法的行为
- 构造器内部的多态方法的行为
- 构造器内部的多态方法的行为
- 构造器内部的多态方法的行为
- 构造器内部的多态方法的行为
- 构造器内部的多态方法的行为
- 构造器内部的多态方法行为
- java 构造器内部的多态方法和行为
- 构造器内部的多态方法行为
- java构造器内部的多态方法
- java构造器内部的多态方法
- 主题:构造方法内部的多态方法的行为
- Java多态--构造方法的内部方法多态
- C++中类的实例化的两种方法
- Linux进程间的通信方式:信号量的使用
- android 开发中遇到错误及解决办法总结
- 多线程间变量的共享
- 洛谷P2658 汽车拉力比赛
- 构造器内部的多态方法
- STL: insert和copy用法汇总
- Pycharm中创建的flask项目,不能关联Jinja2模版的问题解决
- C 字符串数组冒泡排序
- LeetCode #421: Maximum XOR of Two Numbers in an Array
- Ubuntu系统下为 intelliJ idea添加启动项,直接在dash中启动即可
- input name and value and type
- Java线程的学习_线程的生命周期
- 6.2 Python class 继承