gpt4 book ai didi

java - 为什么不能告诉编译器重写 onClick

转载 作者:行者123 更新时间:2023-12-02 08:16:05 25 4
gpt4 key购买 nike

我正在制作一个 Android 应用程序,并且有一些按钮。我想向它们添加一些监听器,因此我实现了 android.view.View.OnClickListener,并向按钮添加了监听器。

但是,在 onClick 方法中,我无法像这样添加 Override 注释:

@Override
public void onClick(View view) { /* With Override */ }

但这有效:

public void onClick(View view) { /* Without Override */ }

如果我尝试在后一个 onClick 方法中记录某些内容,它会按预期工作。

我正在使用 Eclipse,它一直告诉我必须重写父类(super class)方法。

如果我要覆盖它,为什么不能向其添加 Override 注释?

我正在使用 Ubuntu 11.4,如果这很重要的话。 java -version 返回:

java 版本“1.6.0_24”
Java(TM) SE 运行时环境(内部版本 1.6.0_24-b07)
Java HotSpot(TM) 64 位服务器 VM(内部版本 19.1-b02,混合模式)

这是代码:

import android.view.View.OnClickListener;

public class Main extends Activity implements OnClickListener {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button btnFoo = (Button) findViewById(R.id.btnFoo);
btnFoo.setOnClickListener(this);
}

// @Override
public void onClick(View v) {
Log.e("foo", "bar");
}
}
PS。我使用的是 Sun JDK 1.6

编辑:

我发现这适用于我尝试使用的大多数方法,例如 public void run() (来自 Runnable)。

最佳答案

因为没有什么可以重写,所以您正在实现一个接口(interface),而不是从已经具有该方法定义的父类(super class)中继承子类。这根本没有任何意义。

关于java - 为什么不能告诉编译器重写 onClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6402242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com