首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

抽象方法的疑惑解决思路

2012-03-28 
抽象方法的疑惑Java codepublic class GamePanel extends JPanel {MainFrame mainFrameprivate Image bac

抽象方法的疑惑

Java code
public class GamePanel extends JPanel {    MainFrame mainFrame;        private Image background = ImageUtil.getImage("images/background.jpg");        public GamePanel(MainFrame mainFrame) {        this.mainFrame = mainFrame;//        this.setPreferredSize(new Dimension())    }        public void paint(Graphics g) {        g.drawImage(this.background, 0, 0, this.getWidth(),                 this.getHeight() , null);        Piece currentPiece = this.mainFrame.getCurrentPiece();        ImageUtil.paintPiece(g, currentPiece);        Square[][] squares = this.mainFrame.getSquares();        if (squares == null) return;        for (int i = 0; i < squares.length; i++) {            for (int j = 0; j < squares[i].length; j++) {                Square s = squares[i][j];                if (s != null) {                    g.drawImage(s.getImage(), s.getBeginX(), s.getBeginY(), this);                }            }        }    }}

这里是一个实现俄罗斯方块背景类,Graphics g 这是一个抽象对象,程序里g还调用了抽象方法g.drawImage,可是我知道抽象方法是没有实际功能的,我把这句注释掉,背景的显示就会出现白版,这就和“抽象方法是没有实际功能”发生矛盾了。这是什么原因呢?

[解决办法]
传入的是他的子类

热点排行