存档

2015年1月 的存档

简易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);
  }
}

输出是什么呢? 阅读全文…

分类: Java, 挨踢(IT) 标签: ,

简易Java(17):Java中的实例初始化器是什么?

2015年1月11日 1 条评论

在本文中,我们先用一个例子来展示什么是实例变量初始化器(instance variable initializer)、实例初始化器(instance initializer)和静态初始化器(static initializer)。然后,再解释一下实例初始化器的工作机制。

1、执行顺序

看下面这个类,你知道哪个先执行吗? 阅读全文…

分类: Java, 挨踢(IT) 标签: ,