gpt4 book ai didi

java - Android @Override 问题

转载 作者:搜寻专家 更新时间:2023-11-01 07:37:24 25 4
gpt4 key购买 nike

我在我的 Libgdx 应用程序中使用 Java 1.7,但是我发现我遇到了很多“@Override”错误。所以在网上搜索之后,我发现我应该运行 Java 1.6 兼容性来防止这个错误。转到 window->preferences->java->compiler 并将兼容性更改为 1.6 后,我发现我仍然收到 @Override 错误(方法 ... 必须覆盖父类(super class)方法)。

知道为什么这仍然会发生吗?我真的需要为函数指定“@Override”以按接口(interface)/Masterclass 的计划覆盖和执行吗?

如果有帮助,下面是代码:

package cowdawg.libgdx.namespace;

import java.io.IOException;
import java.io.InputStream;

import javax.microedition.khronos.opengles.GL10;

import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.files.*;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.graphics.GL11;
import com.badlogic.gdx.graphics.Mesh;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.PerspectiveCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.Texture.TextureFilter;
import com.badlogic.gdx.graphics.Texture.TextureWrap;
import com.badlogic.gdx.graphics.g3d.loaders.obj.ObjLoader;

public class LifeCycle implements ApplicationListener {

String head;
Mesh model;
private PerspectiveCamera camera;

@Override
public void create() {
//super.onCreate(savedInstanceState);
//setContentView(R.layout.main);

InputStream stream = null;
try
{
stream = Gdx.files.internal("Head/Head.obj").read();
model = ObjLoader.loadObj(stream,true);
stream.close();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

Gdx.gl.glEnable(GL10.GL_DEPTH_TEST);
Gdx.gl10.glTranslatef(0.0f, 0.0f, -3.0f);

//Mesh m;
//InputStream in = Gdx.files.internal("data/cube.obj").read();
//m = ObjLoader.loadObj(in);
//m.render(GL10.GL_TRIANGLES);
}

@Override
public void dispose(){
}

@Override
public void pause(){
}

protected int lastTouchX;
protected int lastTouchY;
protected float rotateZ = 0.01f;
protected float increment = 0.01f;

@Override
public void render()
{
Gdx.gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
camera.update();
camera.apply(Gdx.gl10);
Gdx.gl10.glTranslatef(0.0f, 0.0f, -3.0f);
Gdx.gl10.glRotatef(rotateZ, rotateZ, 5.0f, rotateZ);
model.render(GL10.GL_TRIANGLES);

if (Gdx.input.justTouched())
{
}
else if (Gdx.input.isTouched())
{
}
rotateZ += increment;
System.out.println(""+rotateZ);
}

@Override
public void resize()
{

}

@Override
public void resume()
{

}

@Override
public void resize(int arg0, int arg1) {
// TODO Auto-generated method stub

}
}

最佳答案

@Override 注解只是一种安全机制。这只是对编译器的提示,该方法旨在覆盖父方法。如果该方法不是父方法的重写,则会触发编译器错误。

使用它是可选的,但对于检测方法名称/参数拼写错误可能很有用。

关于java - Android @Override 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8989470/

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