搜索
java - cannot be referenced from a static context
天蓬老师
天蓬老师 2017-04-17 13:50:47
[Java讨论组]
package CH7;

import javax.swing.*;

public class SimpleFrameTest
{
    public static void main(String[] args)
    {
        SimpleFrame simpleFrame = new SimpleFrame();
        simpleFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        simpleFrame.setLocationByPlatform(true);
        simpleFrame.setVisible(true);
        simpleFrame.setResizable(true);
        simpleFrame.setTitle("Hello World");
    }

    private class SimpleFrame extends JFrame
    {
        public SimpleFrame()
        {
            setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
        }

        public static final int DEFAULT_WIDTH = 300;
        public static final int DEFAULT_HEIGHT = 200;
    }
}

提示错误:
Error:(9, 35) java: non-static variable this cannot be referenced from a static context

不太理解这个错误,求指点。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
高洛峰

SimpleFrame是一个非静态的内部类,只能被这个类的非静态方法访问。main方法是静态方法,使用该类创建对象时会出错。解决办法有两个:
1. 将SimpleFrame变为静态的内部类,即加上static;
2. 将类移到外面定义。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号