关于Java编程的疑问

classBaseClass{publicintbook=6;publicvoidbase(){System.out.println("父类的普通方法");}public... class BaseClass
{
public int book=6;
public void base()
{
System.out.println("父类的普通方法");
}
public void test()
{
System.out.println("父类的被覆盖的方法");
}
}
public class SubClass extends BaseClass
{
public String book="完美世界";
public void test()
{
System.out.println("子类覆盖父类的方法");
}
public void sub()
{
System.out.println("子类的普通方法");
}
public static void main(String[] args)
{
BaseClass bc=new BaseClass();
System.out.println(bc.book);
bc.base();
bc.test();
SubClass sc=new SubClass();
System.out.println(sc.book);
sc.base();
sc.test();
BaseClass ploymophicBc=new SubClass();

System.out.println(ploymophicBc.book);
ploymophicBc.base();
ploymophicBc.test();

}
}
为什么最后一句ploymophicBc.test();输出的是SubClass类中的test()方法而不是BaseClass类中的test()方法呢??
BaseClass ploymophicBc=new SubClass();这句话的意思是不是ploymophicBc变量只能调用BaseClass 类里面的方法呢????
展开
 我来答
匿名用户
2015-06-22
展开全部
子类父类、继承、初始化、顺序
建议找本书看看,能找到你想要的答案。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魔戒契约1
2015-06-22 · TA获得超过444个赞
知道小有建树答主
回答量:1313
采纳率:0%
帮助的人:491万
展开全部
BaseClass ploymophicBc=new SubClass();这句话创建的对象是子类对象,只是给ta穿了个父类的马甲而已,就不认识了?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Sdr灬小明
2015-06-22 · TA获得超过122个赞
知道小有建树答主
回答量:264
采纳率:0%
帮助的人:155万
展开全部
因为你new的是子类。
追问
那为什么System.out.println(ploymophicBc.book);输出的是6而不是完美世界呢??
追答
父类new子类可以调用子类继承父类的方法。注意是方法。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式