您的位置:首页 > 编程语言 > Java开发

java 继承时方法的改写

2017-10-11 11:26 218 查看
今日阅读java的书籍时,注意到书上写:类方法不能被改写,否则会发生编译时错误。

但是进过测试,jdk8的类方法可以被继承且能够改写。

说到继承,不得不说变量与方法的覆盖和隐藏,当下层类出现于上层类同名的变量和方法时,就会产生覆盖和隐藏的问题,分两种情况讨论

(1) 当子类出现与父类同名的变量时,无论是实例变量还是类变量,都会被隐藏,只能通过this或者是super去访问父类的变量。

(2) 当子类出现与父类同名的方法时,仅当子类与父类的方法都为实例方法的时候才会出现覆盖,仅当子类与父类的方法都为类方法的时候才会出现隐藏。

一般来说,只有在一个引用类型的变量声明为上层类却引用下层类的对象时才会触发覆盖于隐藏的问题,并且还需要注意的是,在这种情况下,该变量只能访问上层类中实例变量和方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: