2013-09-19 2 views
1

Я создал класс с именем RotatingGeometryUpdater и когда я скомпилировать его я нахожу ошибку: RotatingGeometryUpdater не отрывать го не отменяет абстрактный метод UpdateData (Геометрия) в GeometryUpdater общественного класса RotatingGeometryUpdater реализует GeometryUpdaterRotatingGeomeryUpdater не является абстрактным и не переопределяет абстрактный метод updateData (Geomerty)?

Что мне делать?

Мой код.

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.media.j3d.*; 
import javax.vecmath.*; 


public class RotatingGeometryUpdater implements GeometryUpdater 
{ 
long lastFrame = 0; 

public RotatingGeometryUpdater () 
{ 
} 
// public abstract void updateData(Geometry g){} 
public boolean update(Graphics graphics, RenderingEngine engine, 
GeometryArray geometry, int index, long frameNumber) 
{ 
    if (lastFrame != frameNumber) 
    { 
    lastFrame = frameNumber; 
Vector3d viewAngle = engine.getViewAngle(); 
viewAngle.x += 1; 
     engine.setViewAngle(viewAngle); 
    } 
    return false; 
} 
} 

ответ

1
what shoud I do? 

Вы должны реализовать метод, что сообщение об ошибке говорит вам не хватает. Когда вы реализуете интерфейс, вы соглашаетесь с контрактом, который указан интерфейсом. Эта концепция называется design by contract.

Как ваш класс является конкретным классом, он должен обеспечить реализацию для updateData (Geometry).

Это потому, что кто-то может использовать свой класс так:

GeometryUpdater geom = new RotatingGeometryUpdater(); 
geom.updateData(); 
^-- this line would break, as you have not implemented the method! 

Так как же вы implent это?

public void updateData(Geometry g){ 
    // do stuff 
} 
+0

ОК спасибо. он компилируется, но теперь выбрасывает исключение как это исключение в потоке «main» java.lang.NoClassDefFoundError: javax/media/j3d/GeometryUpdater –

+0

Ваш путь к классам неверен, поэтому я не могу найти класс. В качестве простого исправления поместите свой класс в тот же пакет, где класс, создающий объект, - – Zavior

+0

. Я не дал путь к классу. другая проблема есть. –

Смежные вопросы

 Смежные вопросы