在java中,一个在子类中被重写了的方法,还能通过子类实例在其它类里被访问到吗?

如题~例如classA{publicvoidprint(){System.out.println("A的方法");}}classBextendsA{publicvoidp... 如题~
例如
class A{
public void print(){
System.out.println("A的方法");

}

}
class B extends A{
public void print(){
System.out.println("B的方法");

}

}
现在我在外部某个类中创建一个B的事例,如何通过这个实例访问到A中的print方法呢?
展开
 我来答
截竹为萧
2013-08-23 · TA获得超过155个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:197万
展开全部
不能访问了,你如果new B的实例 ,他重写了A的print()方法,他一定会执行b中的print(),不管你是向上转型还是向下转型,要想通过B的实例访问A,只能A a=new A(); a.print(); 或者print()为static方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心中风情4
2013-08-23 · TA获得超过2247个赞
知道大有可为答主
回答量:1779
采纳率:66%
帮助的人:1093万
展开全部
不行的,你必须在B中定义一个方法来访问父类的函数才行,例如:
class B extends A{
public void print(){
System.out.println("B的方法");

}

public void A_print() {
super.print();
}
}

B b = new B();
b.A_print();
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尧__不可及
2013-08-23 · 超过24用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:46.3万
展开全部

调用不到,但你可以在B类中写一个方法

class B extends A{
    public void print(){
        System.out.println("B的方法");

    }
    //B的实例通过调用这个方法来调用A中的print()方法
    public void superPrint(){
        super.print();
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浑浑噩噩好几年
2013-08-24
知道答主
回答量:58
采纳率:0%
帮助的人:19.3万
展开全部
不可以, 除非另外一个类再继承B,!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
再改名我发火
2013-08-23 · TA获得超过189个赞
知道答主
回答量:128
采纳率:0%
帮助的人:131万
展开全部
super.print();
super表示父类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式