当内部类变量和和外部类变量同名时
来源:互联网 发布:mmd动作数据制作 编辑:程序博客网 时间:2024/06/05 21:15
我知道当内部类变量和和外部类变量同名时要用this修饰,但是我下面这段代码
/******内部类***********/
@SuppressWarnings("serial")
public class ChessImage extends JPanel {
public void init() throws Exception{
table=ImageIO.read(new File("image/board.jpg"));
black=ImageIO.read(new File("image/black.gif"));
white=ImageIO.read(new File("image/white.gif"));
selected=ImageIO.read(new File("image/selected.gif"));
chessboard.initBoard();
this.setPreferredSize(new Dimension(TABLE_WIDTH,TABLE_HEIGHT));
this.addMouseListener(new MouseAdapter()
{ @Override
public void mouseClicked(MouseEvent e)
{
posX=(int)((e.getX()-X_OFFSET)/RATE);
posY=(int)((e.getY()-Y_OFFSET)/RATE);
//如果if条件不通过,直接跳出mouseClicked()方法
if(GobangGame.this.isValid(posX,posY))
{
chessboard.getBoard()[posX][posY]=" ";
chessimage.repaint();
chessman = Chessman.BLACK.getChessman();
if (isWon(posX, posY, chessman)) {
isOver = true;
chessman = Chessman.BLACK.getChessman();
...............................................下面代码略过
/******内部类***********/
@SuppressWarnings("serial")
public class ChessImage extends JPanel {
public void init() throws Exception{
table=ImageIO.read(new File("image/board.jpg"));
black=ImageIO.read(new File("image/black.gif"));
white=ImageIO.read(new File("image/white.gif"));
selected=ImageIO.read(new File("image/selected.gif"));
chessboard.initBoard();
this.setPreferredSize(new Dimension(TABLE_WIDTH,TABLE_HEIGHT));
this.addMouseListener(new MouseAdapter()
{ @Override
public void mouseClicked(MouseEvent e)
{
posX=(int)((e.getX()-X_OFFSET)/RATE);
posY=(int)((e.getY()-Y_OFFSET)/RATE);
//如果if条件不通过,直接跳出mouseClicked()方法
if(GobangGame.this.isValid(posX,posY))
{
chessboard.getBoard()[posX][posY]=" ";
chessimage.repaint();
chessman = Chessman.BLACK.getChessman();
if (isWon(posX, posY, chessman)) {
isOver = true;
chessman = Chessman.BLACK.getChessman();
...............................................下面代码略过
为什么.isValid方法eclipse要求我前面要加GobangGame.this限定(GobangGame是外部类类名),然而同是外部类方法,下面的isWon方法却不用,为什么?????
问题已经解决了,原因其实很简单,isValid方法其实也是java.awt.Component这个类的方法,所以要加上限定
阅读全文
0 0
- 当内部类变量和和外部类变量同名时
- 使用外部类调用内部类的方法和变量
- 关于内部类中成员变量和外部类成员变量的问题
- 内部类引用外部类局部变量
- 内部类调用外部类变量
- 定义一个包含私有成员变量和函数的类,再定义一个内部类,在内部类函数中访问外部成员变量,并调用外部函数。在外部类函数中创建内部类对象,调用内部类函数
- Java内部类和类变量、实例变量的理解
- 内部类和外部类
- 内部类和外部类
- 内部类和外部类
- 内部类和外部类
- 内部类和外部类
- 内部类和外部类
- java内部类引用外部类的变量时必须是final变量
- Java局部内部类和final变量
- 全局变量和局部变量同名时操作
- Java中为什么内部类对外部类局部变量有引用时,外部类局部变量一定要有final?
- Java中为什么内部类对外部类局部变量有引用时,外部类局部变量一定要有final?
- SVN使用指南
- UVA
- Web 开发常见安全问题
- WPF中的资源
- 短信接口安全防护策略
- 当内部类变量和和外部类变量同名时
- 如何在Windows和Linux中安装Redis
- LCD显示图片的函数-ARM体系-2440
- CodeIgniter框架隐藏index.php
- 实现Bootstrap中select的重置功能
- 产品经理——(二)四月规划
- Sqlserver 数据库还原失败-不能重写日志文件
- UINavigationController布局Y值64px问题
- encodeURIComponent