java中重写父类函数后不会自动执行原来父类的函数吗

classMyHandlerextendsHandler{publicMyHandler(Looperlooper){super(looper);}}比如这个MyHand... class MyHandler extends Handler{

public MyHandler(Looper looper){
super(looper);
}
}
比如这个 MyHandler继承了Handler类,还必须在其构造函数中执行super(looper) 以调用父类的构造函数吗?Java不能自动调用?我想C++是可以自动调用父类的构造函数的
展开
 我来答
mikemelon2012
推荐于2017-09-11 · TA获得超过3633个赞
知道大有可为答主
回答量:938
采纳率:87%
帮助的人:391万
展开全部
那要看父类的构造函数带参数不,像你这样带参数的不行。

不写的话,Java会调用父类的默认构造函数(无参数)。

你可以运行以下程序,看看结果:
class Father {
public Father(){
System.out.println("Father构造函数");
}
public Father(int i){
System.out.println("Father构造函数2,带int"+i);
}

}

public class Child extends Father {

public Child(){
System.out.println("Child构造函数");
}

public Child(int i){
System.out.println("Child构造函数2,带int"+i);
}
public static void main(String[] args) {
new Child(2);

}

}
鱼眼看娱乐
推荐于2017-09-07 · 知道合伙人教育行家
鱼眼看娱乐
知道合伙人教育行家
采纳数:2317 获赞数:126728
毕业于西安交通大学化工专业,有新闻双学位。教育培训工作十余年,读大量的教育类书籍,对教育工作有经验

向TA提问 私信TA
展开全部
子类继承父类之后只能重写父类中的protected和public方法,默认没有修饰词的是friendly,同样可以重写,但是private方法就不能重写,即使子类中的方法名和父类的private方法一致,也只能看做是一个新的方法,而不是重写。override也就是重写,覆写。
父类对象.方法名()调用的是父类原方法。调用重写后的方法需要用子类对象调用。如果要在子类中调用父类被重写的方法用super.方法名()。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aichxq86
2012-04-11 · TA获得超过594个赞
知道小有建树答主
回答量:785
采纳率:100%
帮助的人:420万
展开全部
恩,要执行父类的构造方法的话,要写super(looper),Java中规定子类不继承父类的构造方法,不过在子类的构造方法中默认有 super();// 就是调用父类的无参构造方法,当父类定义了一个或者多个构造方法时,Java中不提供默认的构造方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ld782253513
2015-09-10
知道答主
回答量:17
采纳率:0%
帮助的人:2万
展开全部
不会,要调用要用super();函数调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式