2401_86070428 2024-07-28 18:41 采纳率: 14.3%
浏览 0
已结题

初学者关于静态方法的问题

img

img


我照着2019模板的模块敲的,怎么就是错的?百度上也寻找了方法,还是不能解决 急,不知道怎么改

  • 写回答

1条回答 默认 最新

  • 专家-司宇[在线] 2024-07-28 18:41
    关注

    引自免费微信小程序:皆我百晓生

    根据您提供的代码和错误信息,问题出在尝试从一个静态方法(main方法)中调用一个非静态方法(LaunchFrame)。在Java中,静态方法不能直接调用非静态方法,因为非静态方法是属于对象的实例的,而静态方法是属于类的,不依赖于任何对象实例。因此,您需要创建一个MyGameFrame的实例,并通过该实例来调用LaunchFrame方法。这是您的代码的修正版本:

    图3和图4的修正版本如下:

    package Mygamepackage; 
    import java.awt.*; 
    import java.awt.event.WindowAdapter; 
    import java.awt.event.WindowEvent; 
    
    public class MyGameFrame extends Frame { 
        //初始化窗口 
    
        public void LaunchFrame(){ 
            this.setTitle("黄豪大战"); 
            setVisible(true); 
            setSize(700, 700); // 注意这里应该是 setSize 而非 setsize,并且不需要指定宽度和高度为两个单独的参数
            setLocation(600, 600); 
            this.addWindowListener(new WindowAdapter() { 
                @Override
                public void windowClosing(WindowEvent e){ 
                    System.exit(0); // 注意这里应该是 windowClosing 而非 windowCLosing,并且状态码应该是整数而不是字符串 "status"
                } 
            }); 
        } 
    
        public static void main(String[] args) { 
            MyGameFrame frame = new MyGameFrame(); // 创建MyGameFrame的实例
            frame.LaunchFrame(); // 通过该实例调用LaunchFrame方法
        } 
    }
    

    关于您提到的另一个问题:“Variable 'Frame' is never used”(变量'Frame'从未使用),这是因为您在main方法中创建了一个名为Frame的MyGameFrame实例对象,但并没有对它进行任何操作或引用。由于这个变量没有在后续代码中被使用,编译器给出了这个警告。如果您需要这个对象进行其他操作,请确保在创建后使用它。如果这是一个误操作,您可以直接删除这行代码。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月5日
  • 已采纳回答 7月28日
  • 创建了问题 7月28日

悬赏问题

  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
  • ¥15 C#中的编译平台的区别影响