一个JAVA的封装问题

yxlovemoney yxlovemoney 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
类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(); 这到底怎么回事呢?不是父类与子类之间才可以这样的吗?现在这样是什么意思呢?
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
yxlovemoney
Java SE 62,621 成员 307,251 内容