Здравствуйте после puzzeled немного я создал следующий кодАбстрактный класс коррекции ошибок
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Tri extends RandomShape{
public void paintComponent (Graphics g){
// create random variables for collor and shape of triangle
int x;
int y;
int x2;
int y2;
x = (int) Math.random()*100;
y = (int) Math.random()*100;
x2 = (int) Math.random()*100;
y2 = (int) Math.random()*100;
int r1;
int g1;
int b1;
r1 = (int) Math.random()*255;
g1 = (int) Math.random()*255;
b1 = (int) Math.random()*255;
Color color = new Color(r1,g1,b1);
//draw triangle
g.setColor(color);
g.drawLine(x,y,y2,y);
g.setColor(color);
g.drawLine(x,y,y2,y2);
g.setColor(color);
g.drawLine(y2,y,y2,y2);
}
}
и мой randomshape код
import java.awt.Color;
import java.awt.Graphics;
import java.util.Random;
/**
*
* @author huub
*/
abstract class RandomShape {
/** color used for drawing this shape **/
protected Color color;
/** position of the shape (upper left corner) **/
protected int x, y;
abstract void draw(Graphics g);
}
Однако, когда я пытаюсь и скомпилировать выдает ошибку, что Tri является не абстрактно и не переопределяет абстрактный метод draw in Randomshape, как я мог исправить это
Вы знаете, что 'abstract' средства в контексте методов и классы? –
_how я мог бы исправить это_ Ошибка ясна. Переопределите метод 'draw' в классе' Tri'. – BackSlash
Сообщение об ошибке сообщает вам ** точно ** что случилось. Время взломать учебник и прочитать на абстрактных классах! –