为什么java中父类中的有些方法可以在子类中直接调用,而有的方法需要用super来调用?
如:父类Geometric中有publicvoidsetcolor();publicvoidsetfilled();和publicjava.util.Datedatacr...
如:父类Geometric中有public void setcolor();public void setfilled();和
public java.util.Date datacreat()三个方法,子类中调用方法如下:
setcolor( ); setfilled(); super.datacreat()
这是为什呢?求大虾解答。 展开
public java.util.Date datacreat()三个方法,子类中调用方法如下:
setcolor( ); setfilled(); super.datacreat()
这是为什呢?求大虾解答。 展开
10个回答
展开全部
子类继承父类,可以直接调用父类的成员方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
子类可以调用父类的任何非私有方法,
因为JAVA中有重写的概念,
如果在子类中定义某方法与其父类有相同的名称和参数,该方法被重写,在Java中子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。
若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字(super.datacreat();),该关键字引用了当前类的父类。
因为JAVA中有重写的概念,
如果在子类中定义某方法与其父类有相同的名称和参数,该方法被重写,在Java中子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。
若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字(super.datacreat();),该关键字引用了当前类的父类。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-05
展开全部
没有为什么,父类的方法,子类如果没有重载或者覆盖,子类就默认存在这种方法。super.方法
调用父类的方法。
调用父类的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
带不带super,我个人觉得完全一样,你把super去掉如果不报错的话我说的就是对的,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为有些父类的方法不允许继承
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询