开发者社区> 问答> 正文

AbsListView的子类能否重写setSelectionInt方法?报错

abstract class AbsListView 有方法 abstract void setSelectionInt(int position);
abstract class A extends AbsListView
class B extends A
B和A都不能重写方法setSelectionInt,在Eclipse上不重写setSelectionInt也不会报错,编译运行都能通过,但在服务器上编译就会报错,说是没有重写setSelectionInt方法

error: B is not abstract and does not override abstract method setSelectionInt(int) in AbsListView

查看frameworks的AbsListView.java,发现和SDK里的AbsListView.java的setSelectionInt(int position)方法定义和调用都一样

展开
收起
爱吃鱼的程序员 2020-06-12 15:48:24 555 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    不要沉啊,求大神解惑,thanksalot回复<aclass='referer'target='_blank'>@哼哼de那首歌:Eclipse提示中没有此方法的重写,手动重写也会报错,发现setSelectionInt此方法是default权限,只能在同包中才能继承并重写,但是Eclipse中不重写没有报错也能直接run成功并可用继承一个abstract类之后,你的类要orverride它的全部abstract方法,否则你的类也要声明为abstract。有人知道么

    2020-06-12 15:48:42
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
建立联系方法之一 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载