Android Studio报错‘Method doesn't override method from its superclass’解决咨询
解决“Method doesn't override method from its superclass”报错
嘿,我一眼就瞅到问题啦!咱们来一步步搞定这个报错:
问题根源
你看这段点击事件的代码:
btnHello.setOnClickListener(new View.OnClickListener() { @Override protected void onClick(View v) { System.out.println("Hello :)"); } });
View.OnClickListener接口里的onClick方法是public修饰符,但你写成了protected——Java里重写方法时,子类/实现类的方法访问权限不能比父类/接口的更严格,所以这个@Override注解触发了报错,编译器认为你并没有正确重写父类的方法。
修改方案
把protected改成public就完美解决了:
btnHello.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { System.out.println("Hello :)"); } });
额外小提示
另外,Android里打印日志更推荐用Log类(比如Log.d("MainActivity", "Hello :)");),比System.out.println更适配Android的日志系统,你可以试试哦~
内容的提问来源于stack exchange,提问作者P nina
相关产品推荐
相关产品推荐

