展望2011

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

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

51Testing软件测试网*D"Q W5a+X X7h@.S j0@

下面是一个从网上搜来的有关向上转型的例子,其实我还有些不明白。51Testing软件测试网8hZ3]+C-bz(u |X$O'A

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 
Lp-{/k[v G M X0in b 51Testing软件测试网U"D"r;mp
in b
c X6p*Xkpq01
t$BF.k"\/e cPW`4W0先把例子记录下来,等高手帮忙解答。

TAG: JAVA 编程基础

 

评分:0

我来说两句

Open Toolbar