• java构造器内部多态方法



    public class TestC {
    public static void main(String []args)
    {
    new Graph(5);
    }
    }
    class Grp
    {
    void draw()
    {
    System.out.println("draw....");
    }
    Grp()
    {
    draw();
    }
    }
    class Graph extends Grp
    {
    private int radius = 2;
    Graph(int radius){
    this.radius = radius;
    }
    @Override
    void draw() {
    System.out.println("draw.."+radius);
    }
    }

    结果 draw...0
    初始化Graph ,先初始化父类,父类构造方法中有一个重载的方法,然后调用子类的draw()方法,打印出的结果为draw..0,因为此时子类radius尚未初始化。
    Thinking in java 299页
    编写构造器的准则 用尽可能简单的方法使对象进入正常状态,如果可以的话,避免调用其他的方法。
    在构造器中唯一能安全调用的方法是基类中的final方法。(也适用于private方法,它们自动属于final方法)

  • 相关阅读:
    vue $emit的使用
    flask config 环境变量配置
    get请求
    下载及安装
    测试用例写作
    系统测试
    测试方法
    软件质量
    测试基础
    子网掩码
  • 原文地址:https://www.cnblogs.com/alway-july/p/6516962.html
Copyright © 2020-2023  润新知