可以限制一个方法重载的声明语句有( )。
A. Final void methoda() {}
B. Void final methoda() {}
C. Static void methoda() {}
D. Static final void methoda() {}
E. Final abstract void methoda() {}
给出答案后请说一下理由哈!!
可以限制一个方法重载的声明语句有( )。
A. Final void methoda() {}
B. Void final methoda() {}
C. Static void methoda() {}
D. Static final void methoda() {}
E. Final abstract void methoda() {}
给出答案后请说一下理由哈!!
题目有错。应该是“限制一个方法重写”,方法重载是无法限制的。当然,关键字都是小写的,这个暂时无视。
只要符合重载条件——同名、参数不同——就是重载,加什么修饰都无法限制。
可以限制的是“重写”,使用final修饰的方法在子类中不能被重写。
所以,如果题目要的是“限制重写”,那就选A。
重写——overriding。
重载——overloading。
(严格地说都错,因为楼主把关键字都大写了,实际上是通过不了编译的)
如果忽略大小写:
选A,D,E!
B选项void和final位置反了
C选项的static关键字不能保证方法不被重载。
有final修饰的方法是不能被重写,重载的!,所以选A,D,E!
A. Final void methoda() {} final 修饰的方法不能被覆盖。
D 纯粹就是错的,abstract就是要用来覆盖的。final又不让覆盖,矛盾了