august 发表于 2007-11-27 11:44:38

[java]再来封装问题

类B:
public interface B {
    public void methodD();
}
------------------------------------
类A:
public abstract class A implements B{
    abstract void methodA();
    abstract void methodB();
    abstract void methodC();
    public void methodD(){
      methodC();
      methodB();
      methodA();
    }
}
--------------------------------------
类D:
public class D extends A {

    void methodA() {
      // TODO Auto-generated method stub
      System.out.println("方法A");
    }

    void methodB() {
      // TODO Auto-generated method stub
      System.out.println("方法B");
    }

    void methodC() {
      // TODO Auto-generated method stub
      System.out.println("方法C");
    }

}
----------------------------------------
类C:
public class C{
    public B methodE(){
      B c=new D();
      return c;
    }
}
这个类到底怎么理解呢?
-------------------------------------
public class Test {

    /**
   * @param args
   */
    public static void main(String[] args) {
      // TODO Auto-generated method stub
      C d=new C();
      B c=d.methodE();
      c.methodD();
    }

}

上面类C里的: B c=new D(); 这到底怎么回事呢?不是父类与子类之间才可以这样的吗?现在这样是什么意思呢?

rednaxela 发表于 2007-11-27 13:01:00

是"父类型"与"子类型".接口和类都是"类型".
页: [1]
查看完整版本: [java]再来封装问题