展望2011

2007-01-08 | java的向上转型实例

上一篇 / 下一篇  2007-04-27 18:06:52 / 个人分类:编程基础

[5f{!O{(GvA E\0下面是一个从网上搜来的有关向上转型的例子,其实我还有些不明白。

%U:D%ERIQkb0
class Fathter2
{ 
  int a = 1;
  int b;
  void f()
  {
  System.out.println("in A");
  }
}
 
class Son2 extends Fathter2
{
  double a = 1.1;
  double b;
  void f()
  {
  System.out.println("in b");
  }
}
 
public class ExtendsTest
{
  public static void main(String[] args)
  {
    Fathter2 aFather2 = new Fathter2();
    Son2 aSon2 = new Son2();
    System.out.println(aFather2.a);  
    aFather2 = aSon2; //疑惑1:父类对象引用要变成子类对象引用?对象的浅复制?怎么看都不像是向上转型。。
    aFather2.f(); 
    aSon2.f();
    System.out.println(aFather2.a); //疑惑2:既然方法f()用了子类的方法,为什么数据a没有变成子类的呢?
  }
}
运行结果是:
1 
%J(O:]Fp l4xx0in b
1w*KX2yn.]0in b 51Testing软件测试网oH\+P3KN:k|
1 51Testing软件测试网 W_6t?D&|`[I#V+x;lR
先把例子记录下来,等高手帮忙解答。

TAG: JAVA 编程基础

 

评分:0

我来说两句

Open Toolbar