幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2576|回复: 1

[java]再来封装问题

[复制链接]

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
发表于 2007-11-27 11:44:38 | 显示全部楼层 |阅读模式
类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(); 这到底怎么回事呢?不是父类与子类之间才可以这样的吗?现在这样是什么意思呢?
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复

使用道具 举报

8

主题

215

帖子

2223

积分

⑥精研

积分
2223
发表于 2007-11-27 13:01:00 | 显示全部楼层
是"父类型"与"子类型".接口和类都是"类型".
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-3-28 19:03 , Processed in 0.016646 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表