zoukankan      html  css  js  c++  java
  • JAVA中方法和变量在继承中的覆盖和隐藏

    http://renyanwei.iteye.com/blog/258304

    首先看一下JAVA中方法和变量在继承时的覆盖和隐藏规则

    1.父类的实例变量和静态变量能被子类的同名变量隐藏

    2.父类的静态方法被子类的同名静态方法隐藏

    3.父类的实例方法被子类的同名实例变量覆盖

    还有几点需要注意的是

    1.不能用子类的静态方法隐藏 父类中同样标示(也就是返回值 名字 参数都一样)的实例方法

    2.不能用子类的实例方法覆盖 父类中同样标示的静态方法

    3.这点儿请注意,就是变量只会被隐藏 不会被覆盖 ,无论他是实例变量还是静态变量,而且,子类的静态变量可以隐藏 父类的实例变量,子类的实例变量可以隐藏 父类的静态变量

    总结下吧

    1.同名的实例方法被覆盖 ,同名的静态方法被隐藏 ,child类的getName实例方法覆盖 了parent的getName实例方法,chind的getKind方法隐藏 了parent类的getKind方法

    2.隐藏 和覆盖 的区别在于,子类对象转换成父类对象后,能够访问父类被隐藏 的变量和方法,而不能访问父类被覆盖 的方法

    3.如果需要访问父类被隐藏 的实例变量,加上super就好了,比如访问父类的name,写上super.name就好了

  • 相关阅读:
    JAVA实验3 类与对象
    多种排序功能的实现
    (数据结构)HashTable的实现
    对string型变量的频率统计(文章单词检索)
    对int型变量的频率统计
    二叉搜索树中序迭代器的实现
    二叉搜索树的实现
    Prim最小生成树
    Kruscal最小生成树
    算法分析实践大作业
  • 原文地址:https://www.cnblogs.com/pomodoro/p/9537535.html
Copyright © 2011-2022 走看看