简易Java(18):属性能否重写?为什么?
2015年1月25日
8 条评论
本文将给大家介绍面向对象编程中一个基本的概念–属性隐藏(Field Hiding)。
1、Java中,属性能否被覆盖?
来让我们看看下面的这个示例代码,它创建了两个子类实例:一个被赋值给子类引用,另外一个赋值给父类引用。
package com.diguage.books.simplejava.ar18; /** * 属性隐藏示例 * <p/> * Coder:D瓜哥,http://www.diguage.com/ * <p/> * Date: 2015-01-25 19:48 */ class Super { String s = "Super"; } class Sub extends Super { String s = "Sub"; } public class FieldOverriding { public static void main(String[] args) { Sub c1 = new Sub(); System.out.println(c1.s); Super c2 = new Sub(); System.out.println(c2.s); } }
输出是什么呢? 阅读全文…