zoukankan      html  css  js  c++  java
  • 你必须知道的.net中把new说透中答案

    看书中的例子没敲代码,始终不敢确定是什么。今天心痒,就测试了一把。

    当然,不只是那个答案。也测试了其他的疑问。为了方便看答案加入了分割数据。

    Code

    答案是:

    123
    base class --
    1111111111111111111111111111111
    bas123
    der456
    2222222222222222222222222222222222222222
    derve class --
    3333333333333333333333333333333333
    base class --
    44444444444444444444444444444444444444444
    bas123
    der456

     第二种情况是IntNumber中的showInfo()方法不用new而是用override则答案是

    123
    base class --
    1111111111111111111111111111111
    bas123
    der456
    2222222222222222222222222222222222222222
    derve class --
    3333333333333333333333333333333333
    derve class --
    44444444444444444444444444444444444444444
    bas123
    der456

    明白了,再看new在不同场合的定义

    1,作为运算符,用于创建对象和调用构造函数。

    2,作为修饰符,用于向基类成员隐藏继承成员。

    作为修饰符,基本的规则可以总结为:实现派生类中隐藏方法,则基类方法必须定义为virtual,

    将基类方法实现为vvirtual,能同时保证向前扩展和向后兼容,在派生类中通过new或override进行灵活控制。

    new作为修饰符,实现隐藏基类成员时,不可和override共存,应为两者是互斥的:new用于实现创建新成员,同时隐藏基类的同名成员;

    而override用于实现对基类成员的扩展。

  • 相关阅读:
    Java NIO开发需要注意的陷阱(转)
    Java Nio注意事项
    NIO的介绍及使用(总结)
    蓝萝卜blu netty3升netty4
    tcp nio 远程主机强迫关闭了一个现有的连接
    java 竖线分割字符串的问题
    15个免费好用的抓包工具
    JSP 基础之 JSTL <c:forEach>用法
    JSP中多条件判断
    怎么不让控制台system.out.println()打印
  • 原文地址:https://www.cnblogs.com/fslnet/p/1598264.html
Copyright © 2011-2022 走看看