推荐于2016-07-26
展开全部
重写: 重写方法必须和被重写方法具有 相同的 方法名、参数列表、和返回值类型。
必须和父类的参数列表相同为什么:
上面说的不错,是为了多态,重写是多态的必要条件之一,多态说白了就是程序执行前(包括编写代码时和编译.java源文件的时候)你调的是父类被重写这方法,真正在运行时(程序执行以后),实际当中,动态绑定(在运行期间真正的new出该对象来,对象内部有一个指针,指向该对象重写的写个方法),调用的是子类重写的这个方法。
方法的参数是形参,形参的作用是接收调用该方法时传过来的实参,形参属于局部变量,那么毫无疑问方法内部是要使用这些个参数做一些事情的,重写要求参数列表必须相同,如果不相同,那么你调父类被重写的这个方法,参数列表不同,那实际当中还执行子类这重写方法,那不矛盾么?内部不混乱了么?参数对不上号,人家重写方法内部要用这参数怎么办啊?
下面这个不太肯定,不过我还是说一下我的看法:
构造方法能不能被继承,new一个子类对象出来的时候,子类对象里面包含着一个父类对象,也就是说,父类对象的所有东西子类对象全部都拥有了,全部都继承下来了,但是有些东西你是有拥有权,没有使用权,比方说private的方法,构造方法是new一个对象的时候必然要调用的方法,初始化对象用的,这个方法比较特殊,不像一般的方法一样,是为了做一件事儿,它就是new对象时候调的方法,我认为构造方法还是继承下来了,但是你用不了,无法用子类对象的引用去调用构造方法。
必须和父类的参数列表相同为什么:
上面说的不错,是为了多态,重写是多态的必要条件之一,多态说白了就是程序执行前(包括编写代码时和编译.java源文件的时候)你调的是父类被重写这方法,真正在运行时(程序执行以后),实际当中,动态绑定(在运行期间真正的new出该对象来,对象内部有一个指针,指向该对象重写的写个方法),调用的是子类重写的这个方法。
方法的参数是形参,形参的作用是接收调用该方法时传过来的实参,形参属于局部变量,那么毫无疑问方法内部是要使用这些个参数做一些事情的,重写要求参数列表必须相同,如果不相同,那么你调父类被重写的这个方法,参数列表不同,那实际当中还执行子类这重写方法,那不矛盾么?内部不混乱了么?参数对不上号,人家重写方法内部要用这参数怎么办啊?
下面这个不太肯定,不过我还是说一下我的看法:
构造方法能不能被继承,new一个子类对象出来的时候,子类对象里面包含着一个父类对象,也就是说,父类对象的所有东西子类对象全部都拥有了,全部都继承下来了,但是有些东西你是有拥有权,没有使用权,比方说private的方法,构造方法是new一个对象的时候必然要调用的方法,初始化对象用的,这个方法比较特殊,不像一般的方法一样,是为了做一件事儿,它就是new对象时候调的方法,我认为构造方法还是继承下来了,但是你用不了,无法用子类对象的引用去调用构造方法。
2013-08-26
展开全部
构造方法本质上不是方法,根本不能继承,所以也谈不上重写
普通方法可以继承,可以部分或全部重写,没有限制
普通方法可以继承,可以部分或全部重写,没有限制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-26
展开全部
要方法名和返回值相同就行
这就是JAVA的多态
这就是JAVA的多态
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-26
展开全部
我记得只要是方法名相同就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询